diff --git a/.babelrc.js b/.babelrc.mjs similarity index 88% rename from .babelrc.js rename to .babelrc.mjs index 51399697f4e5..5984c8e034ec 100644 --- a/.babelrc.js +++ b/.babelrc.mjs @@ -1,4 +1,4 @@ -module.exports = { +export default { presets: [ [ '@babel/preset-env', diff --git a/.bundlewatch.config.json b/.bundlewatch.config.json index 0b79e5e6fb56..c9e6699b0697 100644 --- a/.bundlewatch.config.json +++ b/.bundlewatch.config.json @@ -38,23 +38,15 @@ }, { "path": "./dist/js/bootstrap.bundle.min.js", - "maxSize": "43.0 kB" - }, - { - "path": "./dist/js/bootstrap.esm.js", - "maxSize": "40.75 kB" - }, - { - "path": "./dist/js/bootstrap.esm.min.js", - "maxSize": "25.5 kB" + "maxSize": "47.5 kB" }, { "path": "./dist/js/bootstrap.js", - "maxSize": "41.5 kB" + "maxSize": "40.75 kB" }, { "path": "./dist/js/bootstrap.min.js", - "maxSize": "22.75 kB" + "maxSize": "25.5 kB" } ], "ci": { diff --git a/.eslintrc.json b/.eslintrc.json index da686166f5a8..a4ad6bd3473b 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -215,6 +215,19 @@ "ecmaVersion": 2020 } }, + { + "files": [ + "site/src/assets/examples/cheatsheet/cheatsheet.js", + "site/src/assets/examples/sidebars/sidebars.js" + ], + "parserOptions": { + "sourceType": "module", + "ecmaVersion": 2020 + }, + "rules": { + "import/no-unresolved": "off" + } + }, { "files": [ "**/*.md" diff --git a/README.md b/README.md index 5d0885df546d..242590046257 100644 --- a/README.md +++ b/README.md @@ -104,10 +104,6 @@ Within the download you’ll find the following directories and files, logically ├── bootstrap.bundle.js.map ├── bootstrap.bundle.min.js ├── bootstrap.bundle.min.js.map - ├── bootstrap.esm.js - ├── bootstrap.esm.js.map - ├── bootstrap.esm.min.js - ├── bootstrap.esm.min.js.map ├── bootstrap.js ├── bootstrap.js.map ├── bootstrap.min.js diff --git a/build/build-plugins.mjs b/build/build-plugins.mjs index b5a88d7c062e..382c667948f5 100644 --- a/build/build-plugins.mjs +++ b/build/build-plugins.mjs @@ -22,26 +22,15 @@ const jsFiles = await globby(`${sourcePath}/**/*.js`) // Array which holds the resolved plugins const resolvedPlugins = [] -// Trims the "js" extension and uppercases => first letter, hyphens, backslashes & slashes -const filenameToEntity = filename => filename.replace('.js', '') - .replace(/(?:^|-|\/|\\)[a-z]/g, str => str.slice(-1).toUpperCase()) - for (const file of jsFiles) { resolvedPlugins.push({ src: file, dist: file.replace('src', 'dist'), - fileName: path.basename(file), - className: filenameToEntity(path.basename(file)) - // safeClassName: filenameToEntity(path.relative(sourcePath, file)) + fileName: path.basename(file) }) } const build = async plugin => { - /** - * @type {import('rollup').GlobalsOption} - */ - const globals = {} - const bundle = await rollup({ input: plugin.src, plugins: [ @@ -52,42 +41,18 @@ const build = async plugin => { babelHelpers: 'bundled' }) ], - external(source) { - // Pattern to identify local files - const pattern = /^(\.{1,2})\// - - // It's not a local file, e.g a Node.js package - if (!pattern.test(source)) { - globals[source] = source - return true - } - - const usedPlugin = resolvedPlugins.find(plugin => { - return plugin.src.includes(source.replace(pattern, '')) - }) - - if (!usedPlugin) { - throw new Error(`Source ${source} is not mapped!`) - } - - // We can change `Index` with `UtilIndex` etc if we use - // `safeClassName` instead of `className` everywhere - globals[path.normalize(usedPlugin.src)] = usedPlugin.className - return true - } + external: () => true }) await bundle.write({ banner: banner(plugin.fileName), - format: 'umd', - name: plugin.className, + format: 'esm', sourcemap: true, - globals, generatedCode: 'es2015', file: plugin.dist }) - console.log(`Built ${plugin.className}`) + console.log(`Built ${plugin.fileName}`) } (async () => { diff --git a/build/generate-sri.mjs b/build/generate-sri.mjs index ab9409ab5549..921400f7a54e 100644 --- a/build/generate-sri.mjs +++ b/build/generate-sri.mjs @@ -36,14 +36,6 @@ const files = [ { file: 'dist/js/bootstrap.bundle.min.js', configPropertyName: 'js_bundle_hash' - }, - { - file: 'node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js', - configPropertyName: 'floating_ui_hash' - }, - { - file: 'node_modules/vanilla-calendar-pro/index.js', - configPropertyName: 'vanilla_calendar_pro_hash' } ] diff --git a/build/rollup.config.mjs b/build/rollup.config.mjs index a8da028e9890..9644869e26ee 100644 --- a/build/rollup.config.mjs +++ b/build/rollup.config.mjs @@ -9,9 +9,8 @@ import banner from './banner.mjs' const __dirname = path.dirname(fileURLToPath(import.meta.url)) const BUNDLE = process.env.BUNDLE === 'true' -const ESM = process.env.ESM === 'true' -let destinationFile = `bootstrap${ESM ? '.esm' : ''}` +let destinationFile = 'bootstrap' const external = ['@floating-ui/dom', 'vanilla-calendar-pro'] const plugins = [ babel({ @@ -21,17 +20,11 @@ const plugins = [ babelHelpers: 'bundled' }) ] -const globals = { - '@floating-ui/dom': 'FloatingUIDOM', - 'vanilla-calendar-pro': 'VanillaCalendarPro' -} if (BUNDLE) { destinationFile += '.bundle' - // Remove all entries in external array to bundle Floating UI and Vanilla Calendar Pro + // Bundle all dependencies (Floating UI, Vanilla Calendar Pro, etc.) external.length = 0 - delete globals['@floating-ui/dom'] - delete globals['vanilla-calendar-pro'] plugins.push( replace({ 'process.env.NODE_ENV': '"production"', @@ -42,20 +35,15 @@ if (BUNDLE) { } const rollupConfig = { - input: path.resolve(__dirname, `../js/index.${ESM ? 'esm' : 'umd'}.js`), + input: path.resolve(__dirname, '../js/index.js'), output: { banner: banner(), file: path.resolve(__dirname, `../dist/js/${destinationFile}.js`), - format: ESM ? 'esm' : 'umd', - globals, + format: 'esm', generatedCode: 'es2015' }, external, plugins } -if (!ESM) { - rollupConfig.output.name = 'bootstrap' -} - export default rollupConfig diff --git a/config.yml b/config.yml index 506fae1f5484..6d3a160d0a70 100644 --- a/config.yml +++ b/config.yml @@ -40,11 +40,7 @@ cdn: js_hash: "sha384-Php492snRLTR5p+hMyxpV6gYwp1avWXn4AaX31MgANrvsjr9Dpodl3Nw60L7Pewl" js_bundle: "https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha1/dist/js/bootstrap.bundle.min.js" js_bundle_hash: "sha384-I2J4jlw924JZXHU9un9Mcuixq/rKhd5A8/B1NQ6ifPAiBFacZjwNcec8d6L38jQv" - floating_ui: "https://cdn.jsdelivr.net/npm/@floating-ui/dom@1.7.0/dist/floating-ui.dom.umd.min.js" - floating_ui_hash: "sha384-R7p1RqabZNhI+RdPNIzTouzd/LBVorZ0Tn3ApcogSOk+HF3o+P0HIenrUw/n0MOj" floating_ui_esm: "https://cdn.jsdelivr.net/npm/@floating-ui/dom@1.7.0/dist/floating-ui.dom.esm.min.js" - vanilla_calendar_pro: "https://cdn.jsdelivr.net/npm/vanilla-calendar-pro@3.1.0/index.js" - vanilla_calendar_pro_hash: "sha384-uufJjV19/4zCvBe4t3zJFWdYpBIrAC78Ef5NN2i4VjmTowSYuAx+m56vF6ccI4V3" vanilla_calendar_pro_esm: "https://cdn.jsdelivr.net/npm/vanilla-calendar-pro@3.1.0/index.mjs" anchors: diff --git a/dist/css/bootstrap-grid.css b/dist/css/bootstrap-grid.css index 48469b9d8110..37e63dd652c9 100644 --- a/dist/css/bootstrap-grid.css +++ b/dist/css/bootstrap-grid.css @@ -43,15 +43,6 @@ } } } -:root { - --bs-breakpoint-xs: 0; - --bs-breakpoint-sm: 576px; - --bs-breakpoint-md: 768px; - --bs-breakpoint-lg: 1024px; - --bs-breakpoint-xl: 1280px; - --bs-breakpoint-2xl: 1536px; -} - @layer layout { .row { --bs-gutter-x: 1.5rem; @@ -4923,5 +4914,13 @@ } } } +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 1024px; + --bs-breakpoint-xl: 1280px; + --bs-breakpoint-2xl: 1536px; +} /*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map index 1e9ea0cd84b4..448deb5a341d 100644 --- a/dist/css/bootstrap-grid.css.map +++ b/dist/css/bootstrap-grid.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../scss/_banner.scss","../../scss/layout/_containers.scss","bootstrap-grid.css","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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S;EJ6kCnB;EI5kCQ;IACE,qBAFS;EJglCnB;EC3nCE;IGoCM;MACE,wBAAA;IJ0lCR;II3lCM;MACE,wBAAA;IJ6lCR;II9lCM;MACE,wBAAA;IJgmCR;IIjmCM;MACE,wBAAA;IJmmCR;IIpmCM;MACE,wBAAA;IJsmCR;IIvmCM;MACE,wBAAA;IJymCR;II1mCM;MACE,wBAAA;IJ4mCR;II7mCM;MACE,wBAAA;IJ+mCR;IIhnCM;MACE,wBAAA;IJknCR;IInnCM;MACE,yBAAA;IJqnCR;IItnCM;MACE,yBAAA;IJwnCR;IIznCM;MACE,yBAAA;IJ2nCR;IIpnCM;MACE,oBAFS;IJwnCjB;IIvnCM;MACE,oBAFS;IJ2nCjB;II1nCM;MACE,oBAFS;IJ8nCjB;II7nCM;MACE,oBAFS;IJioCjB;IIhoCM;MACE,oBAFS;IJooCjB;IInoCM;MACE,oBAFS;IJuoCjB;IItoCM;MACE,oBAFS;IJ0oCjB;IIzoCM;MACE,oBAFS;IJ6oCjB;II5oCM;MACE,oBAFS;IJgpCjB;II/oCM;MACE,qBAFS;IJmpCjB;IIlpCM;MACE,qBAFS;IJspCjB;EACF;EClsCE;IGoCM;MACE,wBAAA;IJiqCR;IIlqCM;MACE,wBAAA;IJoqCR;IIrqCM;MACE,wBAAA;IJuqCR;IIxqCM;MACE,wBAAA;IJ0qCR;II3qCM;MACE,wBAAA;IJ6qCR;II9qCM;MACE,wBAAA;IJgrCR;IIjrCM;MACE,wBAAA;IJmrCR;IIprCM;MACE,wBAAA;IJsrCR;IIvrCM;MACE,wBAAA;IJyrCR;II1rCM;MACE,yBAAA;IJ4rCR;II7rCM;MACE,yBAAA;IJ+rCR;IIhsCM;MACE,yBAAA;IJksCR;II3rCM;MACE,oBAFS;IJ+rCjB;II9rCM;MACE,oBAFS;IJksCjB;IIjsCM;MACE,oBAFS;IJqsCjB;IIpsCM;MACE,oBAFS;IJwsCjB;IIvsCM;MACE,oBAFS;IJ2sCjB;II1sCM;MACE,oBAFS;IJ8sCjB;II7sCM;MACE,oBAFS;IJitCjB;IIhtCM;MACE,oBAFS;IJotCjB;IIntCM;MACE,oBAFS;IJutCjB;IIttCM;MACE,qBAFS;IJ0tCjB;IIztCM;MACE,qBAFS;IJ6tCjB;EACF;ECzwCE;IGoCM;MACE,wBAAA;IJwuCR;IIzuCM;MACE,wBAAA;IJ2uCR;II5uCM;MACE,wBAAA;IJ8uCR;II/uCM;MACE,wBAAA;IJivCR;IIlvCM;MACE,wBAAA;IJovCR;IIrvCM;MACE,wBAAA;IJuvCR;IIxvCM;MACE,wBAAA;IJ0vCR;II3vCM;MACE,wBAAA;IJ6vCR;II9vCM;MACE,wBAAA;IJgwCR;IIjwCM;MACE,yBAAA;IJmwCR;IIpwCM;MACE,yBAAA;IJswCR;IIvwCM;MACE,yBAAA;IJywCR;IIlwCM;MACE,oBAFS;IJswCjB;IIrwCM;MACE,oBAFS;IJywCjB;IIxwCM;MACE,oBAFS;IJ4wCjB;II3wCM;MACE,oBAFS;IJ+wCjB;II9wCM;MACE,oBAFS;IJkxCjB;IIjxCM;MACE,oBAFS;IJqxCjB;IIpxCM;MACE,oBAFS;IJwxCjB;IIvxCM;MACE,oBAFS;IJ2xCjB;II1xCM;MACE,oBAFS;IJ8xCjB;II7xCM;MACE,qBAFS;IJiyCjB;IIhyCM;MACE,qBAFS;IJoyCjB;EACF;ECh1CE;IGoCM;MACE,wBAAA;IJ+yCR;IIhzCM;MACE,wBAAA;IJkzCR;IInzCM;MACE,wBAAA;IJqzCR;IItzCM;MACE,wBAAA;IJwzCR;IIzzCM;MACE,wBAAA;IJ2zCR;II5zCM;MACE,wBAAA;IJ8zCR;II/zCM;MACE,wBAAA;IJi0CR;IIl0CM;MACE,wBAAA;IJo0CR;IIr0CM;MACE,wBAAA;IJu0CR;IIx0CM;MACE,yBAAA;IJ00CR;II30CM;MACE,yBAAA;IJ60CR;II90CM;MACE,yBAAA;IJg1CR;IIz0CM;MACE,oBAFS;IJ60CjB;II50CM;MACE,oBAFS;IJg1CjB;II/0CM;MACE,oBAFS;IJm1CjB;IIl1CM;MACE,oBAFS;IJs1CjB;IIr1CM;MACE,oBAFS;IJy1CjB;IIx1CM;MACE,oBAFS;IJ41CjB;II31CM;MACE,oBAFS;IJ+1CjB;II91CM;MACE,oBAFS;IJk2CjB;IIj2CM;MACE,oBAFS;IJq2CjB;IIp2CM;MACE,qBAFS;IJw2CjB;IIv2CM;MACE,qBAFS;IJ22CjB;EACF;ECv5CE;IGoCM;MACE,wBAAA;IJs3CR;IIv3CM;MACE,wBAAA;IJy3CR;II13CM;MACE,wBAAA;IJ43CR;II73CM;MACE,wBAAA;IJ+3CR;IIh4CM;MACE,wBAAA;IJk4CR;IIn4CM;MACE,wBAAA;IJq4CR;IIt4CM;MACE,wBAAA;IJw4CR;IIz4CM;MACE,wBAAA;IJ24CR;II54CM;MACE,wBAAA;IJ84CR;II/4CM;MACE,yBAAA;IJi5CR;IIl5CM;MACE,yBAAA;IJo5CR;IIr5CM;MACE,yBAAA;IJu5CR;IIh5CM;MACE,oBAFS;IJo5CjB;IIn5CM;MACE,oBAFS;IJu5CjB;IIt5CM;MACE,oBAFS;IJ05CjB;IIz5CM;MACE,oBAFS;IJ65CjB;II55CM;MACE,oBAFS;IJg6CjB;II/5CM;MACE,oBAFS;IJm6CjB;IIl6CM;MACE,oBAFS;IJs6CjB;IIr6CM;MACE,oBAFS;IJy6CjB;IIx6CM;MACE,oBAFS;IJ46CjB;II36CM;MACE,qBAFS;IJ+6CjB;II96CM;MACE,qBAFS;IJk7CjB;EACF;EG7hDA;IACE,8BAAA;EH+hDF;EG5hDA;IACE,gBAAA;IAEA,aAAA;IACA,uDAAA;IACA,mBAAA;IACA,kBAAA;EH6hDF;AACF;AK3kDA;EC+KI;IA1GI,eAqBO;ENq/Cb;EMh6CE;IA1GI,qBAqBO;ENw/Cb;EMn6CE;IA1GI,cAqBO;EN2/Cb;EMt6CE;IA1GI,aAqBO;EN8/Cb;EMz6CE;IA1GI,oBAqBO;ENigDb;EM56CE;IA1GI,cAqBO;ENogDb;EM/6CE;IA1GI,kBAqBO;ENugDb;EMl7CE;IA1GI,mBAqBO;EN0gDb;EMr7CE;IA1GI,aAqBO;EN6gDb;EMx7CE;IA1GI,oBAqBO;ENghDb;EM37CE;IA1GI,iBAqBO;ENmhDb;EM97CE;IA1GI,kBAqBO;ENshDb;EMj8CE;IA1GI,aAqBO;ENyhDb;EMp8CE;IA1GI,cAgBG;ENiiDT;EMv8CE;IA1GI,mBAqBO;EN+hDb;EM18CE;IA1GI,sBAqBO;ENkiDb;EM78CE;IA1GI,2BAqBO;ENqiDb;EMh9CE;IA1GI,8BAqBO;ENwiDb;EMn9CE;IA1GI,YAgBG;ENgjDT;EMt9CE;IA1GI,YAgBG;ENmjDT;EMz9CE;IA1GI,cAgBG;ENsjDT;EM59CE;IA1GI,cAgBG;ENyjDT;EM/9CE;IA1GI,eAqBO;ENujDb;EMl+CE;IA1GI,iBAqBO;EN0jDb;EMr+CE;IA1GI,uBAqBO;EN6jDb;EMx+CE;IA1GI,2BAgBG;ENqkDT;EM3+CE;IA1GI,yBAgBG;ENwkDT;EM9+CE;IA1GI,uBAgBG;EN2kDT;EMj/CE;IA1GI,8BAgBG;EN8kDT;EMp/CE;IA1GI,6BAgBG;ENilDT;EMv/CE;IA1GI,6BAgBG;ENolDT;EM1/CE;IA1GI,oBAgBG;ENulDT;EM7/CE;IA1GI,kBAgBG;EN0lDT;EMhgDE;IA1GI,qBAgBG;EN6lDT;EMngDE;IA1GI,sBAgBG;ENgmDT;EMtgDE;IA1GI,uBAgBG;ENmmDT;EMzgDE;IA1GI,qBAgBG;ENsmDT;EM5gDE;IA1GI,mBAgBG;ENymDT;EM/gDE;IA1GI,qBAgBG;EN4mDT;EMlhDE;IA1GI,oBAgBG;EN+mDT;EMrhDE;IA1GI,yBAgBG;ENknDT;EMxhDE;IA1GI,uBAgBG;ENqnDT;EM3hDE;IA1GI,qBAgBG;ENwnDT;EM9hDE;IA1GI,4BAgBG;EN2nDT;EMjiDE;IA1GI,2BAgBG;EN8nDT;EMpiDE;IA1GI,sBAgBG;ENioDT;EMviDE;IA1GI,gBAgBG;ENooDT;EM1iDE;IA1GI,sBAgBG;ENuoDT;EM7iDE;IA1GI,oBAgBG;EN0oDT;EMhjDE;IA1GI,kBAgBG;EN6oDT;EMnjDE;IA1GI,oBAgBG;ENgpDT;EMtjDE;IA1GI,mBAgBG;ENmpDT;EMzjDE;IA1GI,kBAgBG;ENspDT;EM5jDE;IA1GI,gBAgBG;ENypDT;EM/jDE;IA1GI,mBAgBG;EN4pDT;EMlkDE;IA1GI,oBAgBG;EN+pDT;EMrkDE;IA1GI,SAgBG;ENkqDT;EMxkDE;IA1GI,QAgBG;ENqqDT;EM3kDE;IA1GI,QAgBG;ENwqDT;EM9kDE;IA1GI,QAgBG;EN2qDT;EMjlDE;IA1GI,QAgBG;EN8qDT;EMplDE;IA1GI,QAgBG;ENirDT;EMvlDE;IA1GI,QAgBG;ENorDT;EM1lDE;IA1GI,QAgBG;ENurDT;EM7lDE;IA1GI,eAgBG;EN0rDT;EMhmDE;IA1GI,gBAgBG;EN6rDT;EMnmDE;IA1GI,SAgBG;ENgsDT;EMtmDE;IA1GI,eAgBG;ENmsDT;EMzmDE;IA1GI,cAgBG;ENssDT;EM5mDE;IA1GI,YAgBG;ENysDT;EM/mDE;IA1GI,cAgBG;EN4sDT;EMlnDE;IA1GI,YAgBG;EN+sDT;EMrnDE;IA1GI,YAgBG;ENktDT;EMxnDE;IA1GI,sBAgBG;ENqtDT;EM3nDE;IA1GI,uBAgBG;ENwtDT;EM9nDE;IA1GI,gBAgBG;EN2tDT;EMjoDE;IA1GI,sBAgBG;EN8tDT;EMpoDE;IA1GI,qBAgBG;ENiuDT;EMvoDE;IA1GI,mBAgBG;ENouDT;EM1oDE;IA1GI,qBAgBG;ENuuDT;EM7oDE;IA1GI,mBAgBG;EN0uDT;EMhpDE;IA1GI,mBAgBG;EN6uDT;EMnpDE;IA1GI,qBAgBG;ENgvDT;EMtpDE;IA1GI,sBAgBG;ENmvDT;EMzpDE;IA1GI,eAgBG;ENsvDT;EM5pDE;IA1GI,qBAgBG;ENyvDT;EM/pDE;IA1GI,oBAgBG;EN4vDT;EMlqDE;IA1GI,kBAgBG;EN+vDT;EMrqDE;IA1GI,oBAgBG;ENkwDT;EMxqDE;IA1GI,kBAgBG;ENqwDT;EM3qDE;IA1GI,kBAgBG;ENwwDT;EM9qDE;IA1GI,2BAgBG;EN2wDT;EMjrDE;IA1GI,4BAgBG;EN8wDT;EMprDE;IA1GI,qBAgBG;ENixDT;EMvrDE;IA1GI,2BAgBG;ENoxDT;EM1rDE;IA1GI,0BAgBG;ENuxDT;EM7rDE;IA1GI,wBAgBG;EN0xDT;EMhsDE;IA1GI,0BAgBG;EN6xDT;EMnsDE;IA1GI,wBAgBG;ENgyDT;EMtsDE;IA1GI,wBAgBG;ENmyDT;EMzsDE;IA1GI,0BAgBG;ENsyDT;EM5sDE;IA1GI,2BAgBG;ENyyDT;EM/sDE;IA1GI,oBAgBG;EN4yDT;EMltDE;IA1GI,0BAgBG;EN+yDT;EMrtDE;IA1GI,yBAgBG;ENkzDT;EMxtDE;IA1GI,uBAgBG;ENqzDT;EM3tDE;IA1GI,yBAgBG;ENwzDT;EM9tDE;IA1GI,uBAgBG;EN2zDT;EMjuDE;IA1GI,uBAgBG;EN8zDT;EMpuDE;IA1GI,yBAgBG;ENi0DT;EMvuDE;IA1GI,0BAgBG;ENo0DT;EM1uDE;IA1GI,mBAgBG;ENu0DT;EM7uDE;IA1GI,yBAgBG;EN00DT;EMhvDE;IA1GI,wBAgBG;EN60DT;EMnvDE;IA1GI,sBAgBG;ENg1DT;EMtvDE;IA1GI,wBAgBG;ENm1DT;EMzvDE;IA1GI,sBAgBG;ENs1DT;EM5vDE;IA1GI,sBAgBG;ENy1DT;EM/vDE;IA1GI,4BAgBG;EN41DT;EMlwDE;IA1GI,6BAgBG;EN+1DT;EMrwDE;IA1GI,sBAgBG;ENk2DT;EMxwDE;IA1GI,4BAgBG;ENq2DT;EM3wDE;IA1GI,2BAgBG;ENw2DT;EM9wDE;IA1GI,yBAgBG;EN22DT;EMjxDE;IA1GI,2BAgBG;EN82DT;EMpxDE;IA1GI,yBAgBG;ENi3DT;EMvxDE;IA1GI,yBAgBG;ENo3DT;EM1xDE;IA1GI,gBAgBG;ENu3DT;EM7xDE;IA1GI,iBAgBG;EN03DT;EMhyDE;IA1GI,UAgBG;EN63DT;EMnyDE;IA1GI,gBAgBG;ENg4DT;EMtyDE;IA1GI,eAgBG;ENm4DT;EMzyDE;IA1GI,aAgBG;ENs4DT;EM5yDE;IA1GI,eAgBG;ENy4DT;EM/yDE;IA1GI,aAgBG;EN44DT;EMlzDE;IA1GI,uBAgBG;EN+4DT;EMrzDE;IA1GI,wBAgBG;ENk5DT;EMxzDE;IA1GI,iBAgBG;ENq5DT;EM3zDE;IA1GI,uBAgBG;ENw5DT;EM9zDE;IA1GI,sBAgBG;EN25DT;EMj0DE;IA1GI,oBAgBG;EN85DT;EMp0DE;IA1GI,sBAgBG;ENi6DT;EMv0DE;IA1GI,oBAgBG;ENo6DT;EM10DE;IA1GI,sBAgBG;ENu6DT;EM70DE;IA1GI,uBAgBG;EN06DT;EMh1DE;IA1GI,gBAgBG;EN66DT;EMn1DE;IA1GI,sBAgBG;ENg7DT;EMt1DE;IA1GI,qBAgBG;ENm7DT;EMz1DE;IA1GI,mBAgBG;ENs7DT;EM51DE;IA1GI,qBAgBG;ENy7DT;EM/1DE;IA1GI,mBAgBG;EN47DT;EMl2DE;IA1GI,4BAgBG;EN+7DT;EMr2DE;IA1GI,6BAgBG;ENk8DT;EMx2DE;IA1GI,sBAgBG;ENq8DT;EM32DE;IA1GI,4BAgBG;ENw8DT;EM92DE;IA1GI,2BAgBG;EN28DT;EMj3DE;IA1GI,yBAgBG;EN88DT;EMp3DE;IA1GI,2BAgBG;ENi9DT;EMv3DE;IA1GI,yBAgBG;ENo9DT;EM13DE;IA1GI,2BAgBG;ENu9DT;EM73DE;IA1GI,4BAgBG;EN09DT;EMh4DE;IA1GI,qBAgBG;EN69DT;EMn4DE;IA1GI,2BAgBG;ENg+DT;EMt4DE;IA1GI,0BAgBG;ENm+DT;EMz4DE;IA1GI,wBAgBG;ENs+DT;EM54DE;IA1GI,0BAgBG;ENy+DT;EM/4DE;IA1GI,wBAgBG;EN4+DT;EMl5DE;IA1GI,0BAgBG;EN++DT;EMr5DE;IA1GI,2BAgBG;ENk/DT;EMx5DE;IA1GI,oBAgBG;ENq/DT;EM35DE;IA1GI,0BAgBG;ENw/DT;EM95DE;IA1GI,yBAgBG;EN2/DT;EMj6DE;IA1GI,uBAgBG;EN8/DT;EMp6DE;IA1GI,yBAgBG;ENigET;EMv6DE;IA1GI,uBAgBG;ENogET;EM16DE;IA1GI,6BAgBG;ENugET;EM76DE;IA1GI,8BAgBG;EN0gET;EMh7DE;IA1GI,uBAgBG;EN6gET;EMn7DE;IA1GI,6BAgBG;ENghET;EMt7DE;IA1GI,4BAgBG;ENmhET;EMz7DE;IA1GI,0BAgBG;ENshET;EM57DE;IA1GI,4BAgBG;ENyhET;EM/7DE;IA1GI,0BAgBG;EN4hET;EC/gEE;IK6EA;MA1GI,eAqBO;IN2hEX;IMt8DA;MA1GI,qBAqBO;IN8hEX;IMz8DA;MA1GI,cAqBO;INiiEX;IM58DA;MA1GI,aAqBO;INoiEX;IM/8DA;MA1GI,oBAqBO;INuiEX;IMl9DA;MA1GI,cAqBO;IN0iEX;IMr9DA;MA1GI,kBAqBO;IN6iEX;IMx9DA;MA1GI,mBAqBO;INgjEX;IM39DA;MA1GI,aAqBO;INmjEX;IM99DA;MA1GI,oBAqBO;INsjEX;IMj+DA;MA1GI,iBAqBO;INyjEX;IMp+DA;MA1GI,kBAqBO;IN4jEX;IMv+DA;MA1GI,aAqBO;IN+jEX;IM1+DA;MA1GI,cAgBG;INukEP;IM7+DA;MA1GI,mBAqBO;INqkEX;IMh/DA;MA1GI,sBAqBO;INwkEX;IMn/DA;MA1GI,2BAqBO;IN2kEX;IMt/DA;MA1GI,8BAqBO;IN8kEX;IMz/DA;MA1GI,YAgBG;INslEP;IM5/DA;MA1GI,YAgBG;INylEP;IM//DA;MA1GI,cAgBG;IN4lEP;IMlgEA;MA1GI,cAgBG;IN+lEP;IMrgEA;MA1GI,eAqBO;IN6lEX;IMxgEA;MA1GI,iBAqBO;INgmEX;IM3gEA;MA1GI,uBAqBO;INmmEX;IM9gEA;MA1GI,2BAgBG;IN2mEP;IMjhEA;MA1GI,yBAgBG;IN8mEP;IMphEA;MA1GI,uBAgBG;INinEP;IMvhEA;MA1GI,8BAgBG;INonEP;IM1hEA;MA1GI,6BAgBG;INunEP;IM7hEA;MA1GI,6BAgBG;IN0nEP;IMhiEA;MA1GI,oBAgBG;IN6nEP;IMniEA;MA1GI,kBAgBG;INgoEP;IMtiEA;MA1GI,qBAgBG;INmoEP;IMziEA;MA1GI,sBAgBG;INsoEP;IM5iEA;MA1GI,uBAgBG;INyoEP;IM/iEA;MA1GI,qBAgBG;IN4oEP;IMljEA;MA1GI,mBAgBG;IN+oEP;IMrjEA;MA1GI,qBAgBG;INkpEP;IMxjEA;MA1GI,oBAgBG;INqpEP;IM3jEA;MA1GI,yBAgBG;INwpEP;IM9jEA;MA1GI,uBAgBG;IN2pEP;IMjkEA;MA1GI,qBAgBG;IN8pEP;IMpkEA;MA1GI,4BAgBG;INiqEP;IMvkEA;MA1GI,2BAgBG;INoqEP;IM1kEA;MA1GI,sBAgBG;INuqEP;IM7kEA;MA1GI,gBAgBG;IN0qEP;IMhlEA;MA1GI,sBAgBG;IN6qEP;IMnlEA;MA1GI,oBAgBG;INgrEP;IMtlEA;MA1GI,kBAgBG;INmrEP;IMzlEA;MA1GI,oBAgBG;INsrEP;IM5lEA;MA1GI,mBAgBG;INyrEP;IM/lEA;MA1GI,kBAgBG;IN4rEP;IMlmEA;MA1GI,gBAgBG;IN+rEP;IMrmEA;MA1GI,mBAgBG;INksEP;IMxmEA;MA1GI,oBAgBG;INqsEP;IM3mEA;MA1GI,SAgBG;INwsEP;IM9mEA;MA1GI,QAgBG;IN2sEP;IMjnEA;MA1GI,QAgBG;IN8sEP;IMpnEA;MA1GI,QAgBG;INitEP;IMvnEA;MA1GI,QAgBG;INotEP;IM1nEA;MA1GI,QAgBG;INutEP;IM7nEA;MA1GI,QAgBG;IN0tEP;IMhoEA;MA1GI,QAgBG;IN6tEP;IMnoEA;MA1GI,eAgBG;INguEP;IMtoEA;MA1GI,gBAgBG;INmuEP;IMzoEA;MA1GI,SAgBG;INsuEP;IM5oEA;MA1GI,eAgBG;INyuEP;IM/oEA;MA1GI,cAgBG;IN4uEP;IMlpEA;MA1GI,YAgBG;IN+uEP;IMrpEA;MA1GI,cAgBG;INkvEP;IMxpEA;MA1GI,YAgBG;INqvEP;IM3pEA;MA1GI,YAgBG;INwvEP;IM9pEA;MA1GI,sBAgBG;IN2vEP;IMjqEA;MA1GI,uBAgBG;IN8vEP;IMpqEA;MA1GI,gBAgBG;INiwEP;IMvqEA;MA1GI,sBAgBG;INowEP;IM1qEA;MA1GI,qBAgBG;INuwEP;IM7qEA;MA1GI,mBAgBG;IN0wEP;IMhrEA;MA1GI,qBAgBG;IN6wEP;IMnrEA;MA1GI,mBAgBG;INgxEP;IMtrEA;MA1GI,mBAgBG;INmxEP;IMzrEA;MA1GI,qBAgBG;INsxEP;IM5rEA;MA1GI,sBAgBG;INyxEP;IM/rEA;MA1GI,eAgBG;IN4xEP;IMlsEA;MA1GI,qBAgBG;IN+xEP;IMrsEA;MA1GI,oBAgBG;INkyEP;IMxsEA;MA1GI,kBAgBG;INqyEP;IM3sEA;MA1GI,oBAgBG;INwyEP;IM9sEA;MA1GI,kBAgBG;IN2yEP;IMjtEA;MA1GI,kBAgBG;IN8yEP;IMptEA;MA1GI,2BAgBG;INizEP;IMvtEA;MA1GI,4BAgBG;INozEP;IM1tEA;MA1GI,qBAgBG;INuzEP;IM7tEA;MA1GI,2BAgBG;IN0zEP;IMhuEA;MA1GI,0BAgBG;IN6zEP;IMnuEA;MA1GI,wBAgBG;INg0EP;IMtuEA;MA1GI,0BAgBG;INm0EP;IMzuEA;MA1GI,wBAgBG;INs0EP;IM5uEA;MA1GI,wBAgBG;INy0EP;IM/uEA;MA1GI,0BAgBG;IN40EP;IMlvEA;MA1GI,2BAgBG;IN+0EP;IMrvEA;MA1GI,oBAgBG;INk1EP;IMxvEA;MA1GI,0BAgBG;INq1EP;IM3vEA;MA1GI,yBAgBG;INw1EP;IM9vEA;MA1GI,uBAgBG;IN21EP;IMjwEA;MA1GI,yBAgBG;IN81EP;IMpwEA;MA1GI,uBAgBG;INi2EP;IMvwEA;MA1GI,uBAgBG;INo2EP;IM1wEA;MA1GI,yBAgBG;INu2EP;IM7wEA;MA1GI,0BAgBG;IN02EP;IMhxEA;MA1GI,mBAgBG;IN62EP;IMnxEA;MA1GI,yBAgBG;INg3EP;IMtxEA;MA1GI,wBAgBG;INm3EP;IMzxEA;MA1GI,sBAgBG;INs3EP;IM5xEA;MA1GI,wBAgBG;INy3EP;IM/xEA;MA1GI,sBAgBG;IN43EP;IMlyEA;MA1GI,sBAgBG;IN+3EP;IMryEA;MA1GI,4BAgBG;INk4EP;IMxyEA;MA1GI,6BAgBG;INq4EP;IM3yEA;MA1GI,sBAgBG;INw4EP;IM9yEA;MA1GI,4BAgBG;IN24EP;IMjzEA;MA1GI,2BAgBG;IN84EP;IMpzEA;MA1GI,yBAgBG;INi5EP;IMvzEA;MA1GI,2BAgBG;INo5EP;IM1zEA;MA1GI,yBAgBG;INu5EP;IM7zEA;MA1GI,yBAgBG;IN05EP;IMh0EA;MA1GI,gBAgBG;IN65EP;IMn0EA;MA1GI,iBAgBG;INg6EP;IMt0EA;MA1GI,UAgBG;INm6EP;IMz0EA;MA1GI,gBAgBG;INs6EP;IM50EA;MA1GI,eAgBG;INy6EP;IM/0EA;MA1GI,aAgBG;IN46EP;IMl1EA;MA1GI,eAgBG;IN+6EP;IMr1EA;MA1GI,aAgBG;INk7EP;IMx1EA;MA1GI,uBAgBG;INq7EP;IM31EA;MA1GI,wBAgBG;INw7EP;IM91EA;MA1GI,iBAgBG;IN27EP;IMj2EA;MA1GI,uBAgBG;IN87EP;IMp2EA;MA1GI,sBAgBG;INi8EP;IMv2EA;MA1GI,oBAgBG;INo8EP;IM12EA;MA1GI,sBAgBG;INu8EP;IM72EA;MA1GI,oBAgBG;IN08EP;IMh3EA;MA1GI,sBAgBG;IN68EP;IMn3EA;MA1GI,uBAgBG;INg9EP;IMt3EA;MA1GI,gBAgBG;INm9EP;IMz3EA;MA1GI,sBAgBG;INs9EP;IM53EA;MA1GI,qBAgBG;INy9EP;IM/3EA;MA1GI,mBAgBG;IN49EP;IMl4EA;MA1GI,qBAgBG;IN+9EP;IMr4EA;MA1GI,mBAgBG;INk+EP;IMx4EA;MA1GI,4BAgBG;INq+EP;IM34EA;MA1GI,6BAgBG;INw+EP;IM94EA;MA1GI,sBAgBG;IN2+EP;IMj5EA;MA1GI,4BAgBG;IN8+EP;IMp5EA;MA1GI,2BAgBG;INi/EP;IMv5EA;MA1GI,yBAgBG;INo/EP;IM15EA;MA1GI,2BAgBG;INu/EP;IM75EA;MA1GI,yBAgBG;IN0/EP;IMh6EA;MA1GI,2BAgBG;IN6/EP;IMn6EA;MA1GI,4BAgBG;INggFP;IMt6EA;MA1GI,qBAgBG;INmgFP;IMz6EA;MA1GI,2BAgBG;INsgFP;IM56EA;MA1GI,0BAgBG;INygFP;IM/6EA;MA1GI,wBAgBG;IN4gFP;IMl7EA;MA1GI,0BAgBG;IN+gFP;IMr7EA;MA1GI,wBAgBG;INkhFP;IMx7EA;MA1GI,0BAgBG;INqhFP;IM37EA;MA1GI,2BAgBG;INwhFP;IM97EA;MA1GI,oBAgBG;IN2hFP;IMj8EA;MA1GI,0BAgBG;IN8hFP;IMp8EA;MA1GI,yBAgBG;INiiFP;IMv8EA;MA1GI,uBAgBG;INoiFP;IM18EA;MA1GI,yBAgBG;INuiFP;IM78EA;MA1GI,uBAgBG;IN0iFP;IMh9EA;MA1GI,6BAgBG;IN6iFP;IMn9EA;MA1GI,8BAgBG;INgjFP;IMt9EA;MA1GI,uBAgBG;INmjFP;IMz9EA;MA1GI,6BAgBG;INsjFP;IM59EA;MA1GI,4BAgBG;INyjFP;IM/9EA;MA1GI,0BAgBG;IN4jFP;IMl+EA;MA1GI,4BAgBG;IN+jFP;IMr+EA;MA1GI,0BAgBG;INkkFP;EACF;ECtjFE;IK6EA;MA1GI,eAqBO;INkkFX;IM7+EA;MA1GI,qBAqBO;INqkFX;IMh/EA;MA1GI,cAqBO;INwkFX;IMn/EA;MA1GI,aAqBO;IN2kFX;IMt/EA;MA1GI,oBAqBO;IN8kFX;IMz/EA;MA1GI,cAqBO;INilFX;IM5/EA;MA1GI,kBAqBO;INolFX;IM//EA;MA1GI,mBAqBO;INulFX;IMlgFA;MA1GI,aAqBO;IN0lFX;IMrgFA;MA1GI,oBAqBO;IN6lFX;IMxgFA;MA1GI,iBAqBO;INgmFX;IM3gFA;MA1GI,kBAqBO;INmmFX;IM9gFA;MA1GI,aAqBO;INsmFX;IMjhFA;MA1GI,cAgBG;IN8mFP;IMphFA;MA1GI,mBAqBO;IN4mFX;IMvhFA;MA1GI,sBAqBO;IN+mFX;IM1hFA;MA1GI,2BAqBO;INknFX;IM7hFA;MA1GI,8BAqBO;INqnFX;IMhiFA;MA1GI,YAgBG;IN6nFP;IMniFA;MA1GI,YAgBG;INgoFP;IMtiFA;MA1GI,cAgBG;INmoFP;IMziFA;MA1GI,cAgBG;INsoFP;IM5iFA;MA1GI,eAqBO;INooFX;IM/iFA;MA1GI,iBAqBO;INuoFX;IMljFA;MA1GI,uBAqBO;IN0oFX;IMrjFA;MA1GI,2BAgBG;INkpFP;IMxjFA;MA1GI,yBAgBG;INqpFP;IM3jFA;MA1GI,uBAgBG;INwpFP;IM9jFA;MA1GI,8BAgBG;IN2pFP;IMjkFA;MA1GI,6BAgBG;IN8pFP;IMpkFA;MA1GI,6BAgBG;INiqFP;IMvkFA;MA1GI,oBAgBG;INoqFP;IM1kFA;MA1GI,kBAgBG;INuqFP;IM7kFA;MA1GI,qBAgBG;IN0qFP;IMhlFA;MA1GI,sBAgBG;IN6qFP;IMnlFA;MA1GI,uBAgBG;INgrFP;IMtlFA;MA1GI,qBAgBG;INmrFP;IMzlFA;MA1GI,mBAgBG;INsrFP;IM5lFA;MA1GI,qBAgBG;INyrFP;IM/lFA;MA1GI,oBAgBG;IN4rFP;IMlmFA;MA1GI,yBAgBG;IN+rFP;IMrmFA;MA1GI,uBAgBG;INksFP;IMxmFA;MA1GI,qBAgBG;INqsFP;IM3mFA;MA1GI,4BAgBG;INwsFP;IM9mFA;MA1GI,2BAgBG;IN2sFP;IMjnFA;MA1GI,sBAgBG;IN8sFP;IMpnFA;MA1GI,gBAgBG;INitFP;IMvnFA;MA1GI,sBAgBG;INotFP;IM1nFA;MA1GI,oBAgBG;INutFP;IM7nFA;MA1GI,kBAgBG;IN0tFP;IMhoFA;MA1GI,oBAgBG;IN6tFP;IMnoFA;MA1GI,mBAgBG;INguFP;IMtoFA;MA1GI,kBAgBG;INmuFP;IMzoFA;MA1GI,gBAgBG;INsuFP;IM5oFA;MA1GI,mBAgBG;INyuFP;IM/oFA;MA1GI,oBAgBG;IN4uFP;IMlpFA;MA1GI,SAgBG;IN+uFP;IMrpFA;MA1GI,QAgBG;INkvFP;IMxpFA;MA1GI,QAgBG;INqvFP;IM3pFA;MA1GI,QAgBG;INwvFP;IM9pFA;MA1GI,QAgBG;IN2vFP;IMjqFA;MA1GI,QAgBG;IN8vFP;IMpqFA;MA1GI,QAgBG;INiwFP;IMvqFA;MA1GI,QAgBG;INowFP;IM1qFA;MA1GI,eAgBG;INuwFP;IM7qFA;MA1GI,gBAgBG;IN0wFP;IMhrFA;MA1GI,SAgBG;IN6wFP;IMnrFA;MA1GI,eAgBG;INgxFP;IMtrFA;MA1GI,cAgBG;INmxFP;IMzrFA;MA1GI,YAgBG;INsxFP;IM5rFA;MA1GI,cAgBG;INyxFP;IM/rFA;MA1GI,YAgBG;IN4xFP;IMlsFA;MA1GI,YAgBG;IN+xFP;IMrsFA;MA1GI,sBAgBG;INkyFP;IMxsFA;MA1GI,uBAgBG;INqyFP;IM3sFA;MA1GI,gBAgBG;INwyFP;IM9sFA;MA1GI,sBAgBG;IN2yFP;IMjtFA;MA1GI,qBAgBG;IN8yFP;IMptFA;MA1GI,mBAgBG;INizFP;IMvtFA;MA1GI,qBAgBG;INozFP;IM1tFA;MA1GI,mBAgBG;INuzFP;IM7tFA;MA1GI,mBAgBG;IN0zFP;IMhuFA;MA1GI,qBAgBG;IN6zFP;IMnuFA;MA1GI,sBAgBG;INg0FP;IMtuFA;MA1GI,eAgBG;INm0FP;IMzuFA;MA1GI,qBAgBG;INs0FP;IM5uFA;MA1GI,oBAgBG;INy0FP;IM/uFA;MA1GI,kBAgBG;IN40FP;IMlvFA;MA1GI,oBAgBG;IN+0FP;IMrvFA;MA1GI,kBAgBG;INk1FP;IMxvFA;MA1GI,kBAgBG;INq1FP;IM3vFA;MA1GI,2BAgBG;INw1FP;IM9vFA;MA1GI,4BAgBG;IN21FP;IMjwFA;MA1GI,qBAgBG;IN81FP;IMpwFA;MA1GI,2BAgBG;INi2FP;IMvwFA;MA1GI,0BAgBG;INo2FP;IM1wFA;MA1GI,wBAgBG;INu2FP;IM7wFA;MA1GI,0BAgBG;IN02FP;IMhxFA;MA1GI,wBAgBG;IN62FP;IMnxFA;MA1GI,wBAgBG;INg3FP;IMtxFA;MA1GI,0BAgBG;INm3FP;IMzxFA;MA1GI,2BAgBG;INs3FP;IM5xFA;MA1GI,oBAgBG;INy3FP;IM/xFA;MA1GI,0BAgBG;IN43FP;IMlyFA;MA1GI,yBAgBG;IN+3FP;IMryFA;MA1GI,uBAgBG;INk4FP;IMxyFA;MA1GI,yBAgBG;INq4FP;IM3yFA;MA1GI,uBAgBG;INw4FP;IM9yFA;MA1GI,uBAgBG;IN24FP;IMjzFA;MA1GI,yBAgBG;IN84FP;IMpzFA;MA1GI,0BAgBG;INi5FP;IMvzFA;MA1GI,mBAgBG;INo5FP;IM1zFA;MA1GI,yBAgBG;INu5FP;IM7zFA;MA1GI,wBAgBG;IN05FP;IMh0FA;MA1GI,sBAgBG;IN65FP;IMn0FA;MA1GI,wBAgBG;INg6FP;IMt0FA;MA1GI,sBAgBG;INm6FP;IMz0FA;MA1GI,sBAgBG;INs6FP;IM50FA;MA1GI,4BAgBG;INy6FP;IM/0FA;MA1GI,6BAgBG;IN46FP;IMl1FA;MA1GI,sBAgBG;IN+6FP;IMr1FA;MA1GI,4BAgBG;INk7FP;IMx1FA;MA1GI,2BAgBG;INq7FP;IM31FA;MA1GI,yBAgBG;INw7FP;IM91FA;MA1GI,2BAgBG;IN27FP;IMj2FA;MA1GI,yBAgBG;IN87FP;IMp2FA;MA1GI,yBAgBG;INi8FP;IMv2FA;MA1GI,gBAgBG;INo8FP;IM12FA;MA1GI,iBAgBG;INu8FP;IM72FA;MA1GI,UAgBG;IN08FP;IMh3FA;MA1GI,gBAgBG;IN68FP;IMn3FA;MA1GI,eAgBG;INg9FP;IMt3FA;MA1GI,aAgBG;INm9FP;IMz3FA;MA1GI,eAgBG;INs9FP;IM53FA;MA1GI,aAgBG;INy9FP;IM/3FA;MA1GI,uBAgBG;IN49FP;IMl4FA;MA1GI,wBAgBG;IN+9FP;IMr4FA;MA1GI,iBAgBG;INk+FP;IMx4FA;MA1GI,uBAgBG;INq+FP;IM34FA;MA1GI,sBAgBG;INw+FP;IM94FA;MA1GI,oBAgBG;IN2+FP;IMj5FA;MA1GI,sBAgBG;IN8+FP;IMp5FA;MA1GI,oBAgBG;INi/FP;IMv5FA;MA1GI,sBAgBG;INo/FP;IM15FA;MA1GI,uBAgBG;INu/FP;IM75FA;MA1GI,gBAgBG;IN0/FP;IMh6FA;MA1GI,sBAgBG;IN6/FP;IMn6FA;MA1GI,qBAgBG;INggGP;IMt6FA;MA1GI,mBAgBG;INmgGP;IMz6FA;MA1GI,qBAgBG;INsgGP;IM56FA;MA1GI,mBAgBG;INygGP;IM/6FA;MA1GI,4BAgBG;IN4gGP;IMl7FA;MA1GI,6BAgBG;IN+gGP;IMr7FA;MA1GI,sBAgBG;INkhGP;IMx7FA;MA1GI,4BAgBG;INqhGP;IM37FA;MA1GI,2BAgBG;INwhGP;IM97FA;MA1GI,yBAgBG;IN2hGP;IMj8FA;MA1GI,2BAgBG;IN8hGP;IMp8FA;MA1GI,yBAgBG;INiiGP;IMv8FA;MA1GI,2BAgBG;INoiGP;IM18FA;MA1GI,4BAgBG;INuiGP;IM78FA;MA1GI,qBAgBG;IN0iGP;IMh9FA;MA1GI,2BAgBG;IN6iGP;IMn9FA;MA1GI,0BAgBG;INgjGP;IMt9FA;MA1GI,wBAgBG;INmjGP;IMz9FA;MA1GI,0BAgBG;INsjGP;IM59FA;MA1GI,wBAgBG;INyjGP;IM/9FA;MA1GI,0BAgBG;IN4jGP;IMl+FA;MA1GI,2BAgBG;IN+jGP;IMr+FA;MA1GI,oBAgBG;INkkGP;IMx+FA;MA1GI,0BAgBG;INqkGP;IM3+FA;MA1GI,yBAgBG;INwkGP;IM9+FA;MA1GI,uBAgBG;IN2kGP;IMj/FA;MA1GI,yBAgBG;IN8kGP;IMp/FA;MA1GI,uBAgBG;INilGP;IMv/FA;MA1GI,6BAgBG;INolGP;IM1/FA;MA1GI,8BAgBG;INulGP;IM7/FA;MA1GI,uBAgBG;IN0lGP;IMhgGA;MA1GI,6BAgBG;IN6lGP;IMngGA;MA1GI,4BAgBG;INgmGP;IMtgGA;MA1GI,0BAgBG;INmmGP;IMzgGA;MA1GI,4BAgBG;INsmGP;IM5gGA;MA1GI,0BAgBG;INymGP;EACF;EC7lGE;IK6EA;MA1GI,eAqBO;INymGX;IMphGA;MA1GI,qBAqBO;IN4mGX;IMvhGA;MA1GI,cAqBO;IN+mGX;IM1hGA;MA1GI,aAqBO;INknGX;IM7hGA;MA1GI,oBAqBO;INqnGX;IMhiGA;MA1GI,cAqBO;INwnGX;IMniGA;MA1GI,kBAqBO;IN2nGX;IMtiGA;MA1GI,mBAqBO;IN8nGX;IMziGA;MA1GI,aAqBO;INioGX;IM5iGA;MA1GI,oBAqBO;INooGX;IM/iGA;MA1GI,iBAqBO;INuoGX;IMljGA;MA1GI,kBAqBO;IN0oGX;IMrjGA;MA1GI,aAqBO;IN6oGX;IMxjGA;MA1GI,cAgBG;INqpGP;IM3jGA;MA1GI,mBAqBO;INmpGX;IM9jGA;MA1GI,sBAqBO;INspGX;IMjkGA;MA1GI,2BAqBO;INypGX;IMpkGA;MA1GI,8BAqBO;IN4pGX;IMvkGA;MA1GI,YAgBG;INoqGP;IM1kGA;MA1GI,YAgBG;INuqGP;IM7kGA;MA1GI,cAgBG;IN0qGP;IMhlGA;MA1GI,cAgBG;IN6qGP;IMnlGA;MA1GI,eAqBO;IN2qGX;IMtlGA;MA1GI,iBAqBO;IN8qGX;IMzlGA;MA1GI,uBAqBO;INirGX;IM5lGA;MA1GI,2BAgBG;INyrGP;IM/lGA;MA1GI,yBAgBG;IN4rGP;IMlmGA;MA1GI,uBAgBG;IN+rGP;IMrmGA;MA1GI,8BAgBG;INksGP;IMxmGA;MA1GI,6BAgBG;INqsGP;IM3mGA;MA1GI,6BAgBG;INwsGP;IM9mGA;MA1GI,oBAgBG;IN2sGP;IMjnGA;MA1GI,kBAgBG;IN8sGP;IMpnGA;MA1GI,qBAgBG;INitGP;IMvnGA;MA1GI,sBAgBG;INotGP;IM1nGA;MA1GI,uBAgBG;INutGP;IM7nGA;MA1GI,qBAgBG;IN0tGP;IMhoGA;MA1GI,mBAgBG;IN6tGP;IMnoGA;MA1GI,qBAgBG;INguGP;IMtoGA;MA1GI,oBAgBG;INmuGP;IMzoGA;MA1GI,yBAgBG;INsuGP;IM5oGA;MA1GI,uBAgBG;INyuGP;IM/oGA;MA1GI,qBAgBG;IN4uGP;IMlpGA;MA1GI,4BAgBG;IN+uGP;IMrpGA;MA1GI,2BAgBG;INkvGP;IMxpGA;MA1GI,sBAgBG;INqvGP;IM3pGA;MA1GI,gBAgBG;INwvGP;IM9pGA;MA1GI,sBAgBG;IN2vGP;IMjqGA;MA1GI,oBAgBG;IN8vGP;IMpqGA;MA1GI,kBAgBG;INiwGP;IMvqGA;MA1GI,oBAgBG;INowGP;IM1qGA;MA1GI,mBAgBG;INuwGP;IM7qGA;MA1GI,kBAgBG;IN0wGP;IMhrGA;MA1GI,gBAgBG;IN6wGP;IMnrGA;MA1GI,mBAgBG;INgxGP;IMtrGA;MA1GI,oBAgBG;INmxGP;IMzrGA;MA1GI,SAgBG;INsxGP;IM5rGA;MA1GI,QAgBG;INyxGP;IM/rGA;MA1GI,QAgBG;IN4xGP;IMlsGA;MA1GI,QAgBG;IN+xGP;IMrsGA;MA1GI,QAgBG;INkyGP;IMxsGA;MA1GI,QAgBG;INqyGP;IM3sGA;MA1GI,QAgBG;INwyGP;IM9sGA;MA1GI,QAgBG;IN2yGP;IMjtGA;MA1GI,eAgBG;IN8yGP;IMptGA;MA1GI,gBAgBG;INizGP;IMvtGA;MA1GI,SAgBG;INozGP;IM1tGA;MA1GI,eAgBG;INuzGP;IM7tGA;MA1GI,cAgBG;IN0zGP;IMhuGA;MA1GI,YAgBG;IN6zGP;IMnuGA;MA1GI,cAgBG;INg0GP;IMtuGA;MA1GI,YAgBG;INm0GP;IMzuGA;MA1GI,YAgBG;INs0GP;IM5uGA;MA1GI,sBAgBG;INy0GP;IM/uGA;MA1GI,uBAgBG;IN40GP;IMlvGA;MA1GI,gBAgBG;IN+0GP;IMrvGA;MA1GI,sBAgBG;INk1GP;IMxvGA;MA1GI,qBAgBG;INq1GP;IM3vGA;MA1GI,mBAgBG;INw1GP;IM9vGA;MA1GI,qBAgBG;IN21GP;IMjwGA;MA1GI,mBAgBG;IN81GP;IMpwGA;MA1GI,mBAgBG;INi2GP;IMvwGA;MA1GI,qBAgBG;INo2GP;IM1wGA;MA1GI,sBAgBG;INu2GP;IM7wGA;MA1GI,eAgBG;IN02GP;IMhxGA;MA1GI,qBAgBG;IN62GP;IMnxGA;MA1GI,oBAgBG;INg3GP;IMtxGA;MA1GI,kBAgBG;INm3GP;IMzxGA;MA1GI,oBAgBG;INs3GP;IM5xGA;MA1GI,kBAgBG;INy3GP;IM/xGA;MA1GI,kBAgBG;IN43GP;IMlyGA;MA1GI,2BAgBG;IN+3GP;IMryGA;MA1GI,4BAgBG;INk4GP;IMxyGA;MA1GI,qBAgBG;INq4GP;IM3yGA;MA1GI,2BAgBG;INw4GP;IM9yGA;MA1GI,0BAgBG;IN24GP;IMjzGA;MA1GI,wBAgBG;IN84GP;IMpzGA;MA1GI,0BAgBG;INi5GP;IMvzGA;MA1GI,wBAgBG;INo5GP;IM1zGA;MA1GI,wBAgBG;INu5GP;IM7zGA;MA1GI,0BAgBG;IN05GP;IMh0GA;MA1GI,2BAgBG;IN65GP;IMn0GA;MA1GI,oBAgBG;INg6GP;IMt0GA;MA1GI,0BAgBG;INm6GP;IMz0GA;MA1GI,yBAgBG;INs6GP;IM50GA;MA1GI,uBAgBG;INy6GP;IM/0GA;MA1GI,yBAgBG;IN46GP;IMl1GA;MA1GI,uBAgBG;IN+6GP;IMr1GA;MA1GI,uBAgBG;INk7GP;IMx1GA;MA1GI,yBAgBG;INq7GP;IM31GA;MA1GI,0BAgBG;INw7GP;IM91GA;MA1GI,mBAgBG;IN27GP;IMj2GA;MA1GI,yBAgBG;IN87GP;IMp2GA;MA1GI,wBAgBG;INi8GP;IMv2GA;MA1GI,sBAgBG;INo8GP;IM12GA;MA1GI,wBAgBG;INu8GP;IM72GA;MA1GI,sBAgBG;IN08GP;IMh3GA;MA1GI,sBAgBG;IN68GP;IMn3GA;MA1GI,4BAgBG;INg9GP;IMt3GA;MA1GI,6BAgBG;INm9GP;IMz3GA;MA1GI,sBAgBG;INs9GP;IM53GA;MA1GI,4BAgBG;INy9GP;IM/3GA;MA1GI,2BAgBG;IN49GP;IMl4GA;MA1GI,yBAgBG;IN+9GP;IMr4GA;MA1GI,2BAgBG;INk+GP;IMx4GA;MA1GI,yBAgBG;INq+GP;IM34GA;MA1GI,yBAgBG;INw+GP;IM94GA;MA1GI,gBAgBG;IN2+GP;IMj5GA;MA1GI,iBAgBG;IN8+GP;IMp5GA;MA1GI,UAgBG;INi/GP;IMv5GA;MA1GI,gBAgBG;INo/GP;IM15GA;MA1GI,eAgBG;INu/GP;IM75GA;MA1GI,aAgBG;IN0/GP;IMh6GA;MA1GI,eAgBG;IN6/GP;IMn6GA;MA1GI,aAgBG;INggHP;IMt6GA;MA1GI,uBAgBG;INmgHP;IMz6GA;MA1GI,wBAgBG;INsgHP;IM56GA;MA1GI,iBAgBG;INygHP;IM/6GA;MA1GI,uBAgBG;IN4gHP;IMl7GA;MA1GI,sBAgBG;IN+gHP;IMr7GA;MA1GI,oBAgBG;INkhHP;IMx7GA;MA1GI,sBAgBG;INqhHP;IM37GA;MA1GI,oBAgBG;INwhHP;IM97GA;MA1GI,sBAgBG;IN2hHP;IMj8GA;MA1GI,uBAgBG;IN8hHP;IMp8GA;MA1GI,gBAgBG;INiiHP;IMv8GA;MA1GI,sBAgBG;INoiHP;IM18GA;MA1GI,qBAgBG;INuiHP;IM78GA;MA1GI,mBAgBG;IN0iHP;IMh9GA;MA1GI,qBAgBG;IN6iHP;IMn9GA;MA1GI,mBAgBG;INgjHP;IMt9GA;MA1GI,4BAgBG;INmjHP;IMz9GA;MA1GI,6BAgBG;INsjHP;IM59GA;MA1GI,sBAgBG;INyjHP;IM/9GA;MA1GI,4BAgBG;IN4jHP;IMl+GA;MA1GI,2BAgBG;IN+jHP;IMr+GA;MA1GI,yBAgBG;INkkHP;IMx+GA;MA1GI,2BAgBG;INqkHP;IM3+GA;MA1GI,yBAgBG;INwkHP;IM9+GA;MA1GI,2BAgBG;IN2kHP;IMj/GA;MA1GI,4BAgBG;IN8kHP;IMp/GA;MA1GI,qBAgBG;INilHP;IMv/GA;MA1GI,2BAgBG;INolHP;IM1/GA;MA1GI,0BAgBG;INulHP;IM7/GA;MA1GI,wBAgBG;IN0lHP;IMhgHA;MA1GI,0BAgBG;IN6lHP;IMngHA;MA1GI,wBAgBG;INgmHP;IMtgHA;MA1GI,0BAgBG;INmmHP;IMzgHA;MA1GI,2BAgBG;INsmHP;IM5gHA;MA1GI,oBAgBG;INymHP;IM/gHA;MA1GI,0BAgBG;IN4mHP;IMlhHA;MA1GI,yBAgBG;IN+mHP;IMrhHA;MA1GI,uBAgBG;INknHP;IMxhHA;MA1GI,yBAgBG;INqnHP;IM3hHA;MA1GI,uBAgBG;INwnHP;IM9hHA;MA1GI,6BAgBG;IN2nHP;IMjiHA;MA1GI,8BAgBG;IN8nHP;IMpiHA;MA1GI,uBAgBG;INioHP;IMviHA;MA1GI,6BAgBG;INooHP;IM1iHA;MA1GI,4BAgBG;INuoHP;IM7iHA;MA1GI,0BAgBG;IN0oHP;IMhjHA;MA1GI,4BAgBG;IN6oHP;IMnjHA;MA1GI,0BAgBG;INgpHP;EACF;ECpoHE;IK6EA;MA1GI,eAqBO;INgpHX;IM3jHA;MA1GI,qBAqBO;INmpHX;IM9jHA;MA1GI,cAqBO;INspHX;IMjkHA;MA1GI,aAqBO;INypHX;IMpkHA;MA1GI,oBAqBO;IN4pHX;IMvkHA;MA1GI,cAqBO;IN+pHX;IM1kHA;MA1GI,kBAqBO;INkqHX;IM7kHA;MA1GI,mBAqBO;INqqHX;IMhlHA;MA1GI,aAqBO;INwqHX;IMnlHA;MA1GI,oBAqBO;IN2qHX;IMtlHA;MA1GI,iBAqBO;IN8qHX;IMzlHA;MA1GI,kBAqBO;INirHX;IM5lHA;MA1GI,aAqBO;INorHX;IM/lHA;MA1GI,cAgBG;IN4rHP;IMlmHA;MA1GI,mBAqBO;IN0rHX;IMrmHA;MA1GI,sBAqBO;IN6rHX;IMxmHA;MA1GI,2BAqBO;INgsHX;IM3mHA;MA1GI,8BAqBO;INmsHX;IM9mHA;MA1GI,YAgBG;IN2sHP;IMjnHA;MA1GI,YAgBG;IN8sHP;IMpnHA;MA1GI,cAgBG;INitHP;IMvnHA;MA1GI,cAgBG;INotHP;IM1nHA;MA1GI,eAqBO;INktHX;IM7nHA;MA1GI,iBAqBO;INqtHX;IMhoHA;MA1GI,uBAqBO;INwtHX;IMnoHA;MA1GI,2BAgBG;INguHP;IMtoHA;MA1GI,yBAgBG;INmuHP;IMzoHA;MA1GI,uBAgBG;INsuHP;IM5oHA;MA1GI,8BAgBG;INyuHP;IM/oHA;MA1GI,6BAgBG;IN4uHP;IMlpHA;MA1GI,6BAgBG;IN+uHP;IMrpHA;MA1GI,oBAgBG;INkvHP;IMxpHA;MA1GI,kBAgBG;INqvHP;IM3pHA;MA1GI,qBAgBG;INwvHP;IM9pHA;MA1GI,sBAgBG;IN2vHP;IMjqHA;MA1GI,uBAgBG;IN8vHP;IMpqHA;MA1GI,qBAgBG;INiwHP;IMvqHA;MA1GI,mBAgBG;INowHP;IM1qHA;MA1GI,qBAgBG;INuwHP;IM7qHA;MA1GI,oBAgBG;IN0wHP;IMhrHA;MA1GI,yBAgBG;IN6wHP;IMnrHA;MA1GI,uBAgBG;INgxHP;IMtrHA;MA1GI,qBAgBG;INmxHP;IMzrHA;MA1GI,4BAgBG;INsxHP;IM5rHA;MA1GI,2BAgBG;INyxHP;IM/rHA;MA1GI,sBAgBG;IN4xHP;IMlsHA;MA1GI,gBAgBG;IN+xHP;IMrsHA;MA1GI,sBAgBG;INkyHP;IMxsHA;MA1GI,oBAgBG;INqyHP;IM3sHA;MA1GI,kBAgBG;INwyHP;IM9sHA;MA1GI,oBAgBG;IN2yHP;IMjtHA;MA1GI,mBAgBG;IN8yHP;IMptHA;MA1GI,kBAgBG;INizHP;IMvtHA;MA1GI,gBAgBG;INozHP;IM1tHA;MA1GI,mBAgBG;INuzHP;IM7tHA;MA1GI,oBAgBG;IN0zHP;IMhuHA;MA1GI,SAgBG;IN6zHP;IMnuHA;MA1GI,QAgBG;INg0HP;IMtuHA;MA1GI,QAgBG;INm0HP;IMzuHA;MA1GI,QAgBG;INs0HP;IM5uHA;MA1GI,QAgBG;INy0HP;IM/uHA;MA1GI,QAgBG;IN40HP;IMlvHA;MA1GI,QAgBG;IN+0HP;IMrvHA;MA1GI,QAgBG;INk1HP;IMxvHA;MA1GI,eAgBG;INq1HP;IM3vHA;MA1GI,gBAgBG;INw1HP;IM9vHA;MA1GI,SAgBG;IN21HP;IMjwHA;MA1GI,eAgBG;IN81HP;IMpwHA;MA1GI,cAgBG;INi2HP;IMvwHA;MA1GI,YAgBG;INo2HP;IM1wHA;MA1GI,cAgBG;INu2HP;IM7wHA;MA1GI,YAgBG;IN02HP;IMhxHA;MA1GI,YAgBG;IN62HP;IMnxHA;MA1GI,sBAgBG;INg3HP;IMtxHA;MA1GI,uBAgBG;INm3HP;IMzxHA;MA1GI,gBAgBG;INs3HP;IM5xHA;MA1GI,sBAgBG;INy3HP;IM/xHA;MA1GI,qBAgBG;IN43HP;IMlyHA;MA1GI,mBAgBG;IN+3HP;IMryHA;MA1GI,qBAgBG;INk4HP;IMxyHA;MA1GI,mBAgBG;INq4HP;IM3yHA;MA1GI,mBAgBG;INw4HP;IM9yHA;MA1GI,qBAgBG;IN24HP;IMjzHA;MA1GI,sBAgBG;IN84HP;IMpzHA;MA1GI,eAgBG;INi5HP;IMvzHA;MA1GI,qBAgBG;INo5HP;IM1zHA;MA1GI,oBAgBG;INu5HP;IM7zHA;MA1GI,kBAgBG;IN05HP;IMh0HA;MA1GI,oBAgBG;IN65HP;IMn0HA;MA1GI,kBAgBG;INg6HP;IMt0HA;MA1GI,kBAgBG;INm6HP;IMz0HA;MA1GI,2BAgBG;INs6HP;IM50HA;MA1GI,4BAgBG;INy6HP;IM/0HA;MA1GI,qBAgBG;IN46HP;IMl1HA;MA1GI,2BAgBG;IN+6HP;IMr1HA;MA1GI,0BAgBG;INk7HP;IMx1HA;MA1GI,wBAgBG;INq7HP;IM31HA;MA1GI,0BAgBG;INw7HP;IM91HA;MA1GI,wBAgBG;IN27HP;IMj2HA;MA1GI,wBAgBG;IN87HP;IMp2HA;MA1GI,0BAgBG;INi8HP;IMv2HA;MA1GI,2BAgBG;INo8HP;IM12HA;MA1GI,oBAgBG;INu8HP;IM72HA;MA1GI,0BAgBG;IN08HP;IMh3HA;MA1GI,yBAgBG;IN68HP;IMn3HA;MA1GI,uBAgBG;INg9HP;IMt3HA;MA1GI,yBAgBG;INm9HP;IMz3HA;MA1GI,uBAgBG;INs9HP;IM53HA;MA1GI,uBAgBG;INy9HP;IM/3HA;MA1GI,yBAgBG;IN49HP;IMl4HA;MA1GI,0BAgBG;IN+9HP;IMr4HA;MA1GI,mBAgBG;INk+HP;IMx4HA;MA1GI,yBAgBG;INq+HP;IM34HA;MA1GI,wBAgBG;INw+HP;IM94HA;MA1GI,sBAgBG;IN2+HP;IMj5HA;MA1GI,wBAgBG;IN8+HP;IMp5HA;MA1GI,sBAgBG;INi/HP;IMv5HA;MA1GI,sBAgBG;INo/HP;IM15HA;MA1GI,4BAgBG;INu/HP;IM75HA;MA1GI,6BAgBG;IN0/HP;IMh6HA;MA1GI,sBAgBG;IN6/HP;IMn6HA;MA1GI,4BAgBG;INggIP;IMt6HA;MA1GI,2BAgBG;INmgIP;IMz6HA;MA1GI,yBAgBG;INsgIP;IM56HA;MA1GI,2BAgBG;INygIP;IM/6HA;MA1GI,yBAgBG;IN4gIP;IMl7HA;MA1GI,yBAgBG;IN+gIP;IMr7HA;MA1GI,gBAgBG;INkhIP;IMx7HA;MA1GI,iBAgBG;INqhIP;IM37HA;MA1GI,UAgBG;INwhIP;IM97HA;MA1GI,gBAgBG;IN2hIP;IMj8HA;MA1GI,eAgBG;IN8hIP;IMp8HA;MA1GI,aAgBG;INiiIP;IMv8HA;MA1GI,eAgBG;INoiIP;IM18HA;MA1GI,aAgBG;INuiIP;IM78HA;MA1GI,uBAgBG;IN0iIP;IMh9HA;MA1GI,wBAgBG;IN6iIP;IMn9HA;MA1GI,iBAgBG;INgjIP;IMt9HA;MA1GI,uBAgBG;INmjIP;IMz9HA;MA1GI,sBAgBG;INsjIP;IM59HA;MA1GI,oBAgBG;INyjIP;IM/9HA;MA1GI,sBAgBG;IN4jIP;IMl+HA;MA1GI,oBAgBG;IN+jIP;IMr+HA;MA1GI,sBAgBG;INkkIP;IMx+HA;MA1GI,uBAgBG;INqkIP;IM3+HA;MA1GI,gBAgBG;INwkIP;IM9+HA;MA1GI,sBAgBG;IN2kIP;IMj/HA;MA1GI,qBAgBG;IN8kIP;IMp/HA;MA1GI,mBAgBG;INilIP;IMv/HA;MA1GI,qBAgBG;INolIP;IM1/HA;MA1GI,mBAgBG;INulIP;IM7/HA;MA1GI,4BAgBG;IN0lIP;IMhgIA;MA1GI,6BAgBG;IN6lIP;IMngIA;MA1GI,sBAgBG;INgmIP;IMtgIA;MA1GI,4BAgBG;INmmIP;IMzgIA;MA1GI,2BAgBG;INsmIP;IM5gIA;MA1GI,yBAgBG;INymIP;IM/gIA;MA1GI,2BAgBG;IN4mIP;IMlhIA;MA1GI,yBAgBG;IN+mIP;IMrhIA;MA1GI,2BAgBG;INknIP;IMxhIA;MA1GI,4BAgBG;INqnIP;IM3hIA;MA1GI,qBAgBG;INwnIP;IM9hIA;MA1GI,2BAgBG;IN2nIP;IMjiIA;MA1GI,0BAgBG;IN8nIP;IMpiIA;MA1GI,wBAgBG;INioIP;IMviIA;MA1GI,0BAgBG;INooIP;IM1iIA;MA1GI,wBAgBG;INuoIP;IM7iIA;MA1GI,0BAgBG;IN0oIP;IMhjIA;MA1GI,2BAgBG;IN6oIP;IMnjIA;MA1GI,oBAgBG;INgpIP;IMtjIA;MA1GI,0BAgBG;INmpIP;IMzjIA;MA1GI,yBAgBG;INspIP;IM5jIA;MA1GI,uBAgBG;INypIP;IM/jIA;MA1GI,yBAgBG;IN4pIP;IMlkIA;MA1GI,uBAgBG;IN+pIP;IMrkIA;MA1GI,6BAgBG;INkqIP;IMxkIA;MA1GI,8BAgBG;INqqIP;IM3kIA;MA1GI,uBAgBG;INwqIP;IM9kIA;MA1GI,6BAgBG;IN2qIP;IMjlIA;MA1GI,4BAgBG;IN8qIP;IMplIA;MA1GI,0BAgBG;INirIP;IMvlIA;MA1GI,4BAgBG;INorIP;IM1lIA;MA1GI,0BAgBG;INurIP;EACF;EC3qIE;IK6EA;MA1GI,eAqBO;INurIX;IMlmIA;MA1GI,qBAqBO;IN0rIX;IMrmIA;MA1GI,cAqBO;IN6rIX;IMxmIA;MA1GI,aAqBO;INgsIX;IM3mIA;MA1GI,oBAqBO;INmsIX;IM9mIA;MA1GI,cAqBO;INssIX;IMjnIA;MA1GI,kBAqBO;INysIX;IMpnIA;MA1GI,mBAqBO;IN4sIX;IMvnIA;MA1GI,aAqBO;IN+sIX;IM1nIA;MA1GI,oBAqBO;INktIX;IM7nIA;MA1GI,iBAqBO;INqtIX;IMhoIA;MA1GI,kBAqBO;INwtIX;IMnoIA;MA1GI,aAqBO;IN2tIX;IMtoIA;MA1GI,cAgBG;INmuIP;IMzoIA;MA1GI,mBAqBO;INiuIX;IM5oIA;MA1GI,sBAqBO;INouIX;IM/oIA;MA1GI,2BAqBO;INuuIX;IMlpIA;MA1GI,8BAqBO;IN0uIX;IMrpIA;MA1GI,YAgBG;INkvIP;IMxpIA;MA1GI,YAgBG;INqvIP;IM3pIA;MA1GI,cAgBG;INwvIP;IM9pIA;MA1GI,cAgBG;IN2vIP;IMjqIA;MA1GI,eAqBO;INyvIX;IMpqIA;MA1GI,iBAqBO;IN4vIX;IMvqIA;MA1GI,uBAqBO;IN+vIX;IM1qIA;MA1GI,2BAgBG;INuwIP;IM7qIA;MA1GI,yBAgBG;IN0wIP;IMhrIA;MA1GI,uBAgBG;IN6wIP;IMnrIA;MA1GI,8BAgBG;INgxIP;IMtrIA;MA1GI,6BAgBG;INmxIP;IMzrIA;MA1GI,6BAgBG;INsxIP;IM5rIA;MA1GI,oBAgBG;INyxIP;IM/rIA;MA1GI,kBAgBG;IN4xIP;IMlsIA;MA1GI,qBAgBG;IN+xIP;IMrsIA;MA1GI,sBAgBG;INkyIP;IMxsIA;MA1GI,uBAgBG;INqyIP;IM3sIA;MA1GI,qBAgBG;INwyIP;IM9sIA;MA1GI,mBAgBG;IN2yIP;IMjtIA;MA1GI,qBAgBG;IN8yIP;IMptIA;MA1GI,oBAgBG;INizIP;IMvtIA;MA1GI,yBAgBG;INozIP;IM1tIA;MA1GI,uBAgBG;INuzIP;IM7tIA;MA1GI,qBAgBG;IN0zIP;IMhuIA;MA1GI,4BAgBG;IN6zIP;IMnuIA;MA1GI,2BAgBG;INg0IP;IMtuIA;MA1GI,sBAgBG;INm0IP;IMzuIA;MA1GI,gBAgBG;INs0IP;IM5uIA;MA1GI,sBAgBG;INy0IP;IM/uIA;MA1GI,oBAgBG;IN40IP;IMlvIA;MA1GI,kBAgBG;IN+0IP;IMrvIA;MA1GI,oBAgBG;INk1IP;IMxvIA;MA1GI,mBAgBG;INq1IP;IM3vIA;MA1GI,kBAgBG;INw1IP;IM9vIA;MA1GI,gBAgBG;IN21IP;IMjwIA;MA1GI,mBAgBG;IN81IP;IMpwIA;MA1GI,oBAgBG;INi2IP;IMvwIA;MA1GI,SAgBG;INo2IP;IM1wIA;MA1GI,QAgBG;INu2IP;IM7wIA;MA1GI,QAgBG;IN02IP;IMhxIA;MA1GI,QAgBG;IN62IP;IMnxIA;MA1GI,QAgBG;INg3IP;IMtxIA;MA1GI,QAgBG;INm3IP;IMzxIA;MA1GI,QAgBG;INs3IP;IM5xIA;MA1GI,QAgBG;INy3IP;IM/xIA;MA1GI,eAgBG;IN43IP;IMlyIA;MA1GI,gBAgBG;IN+3IP;IMryIA;MA1GI,SAgBG;INk4IP;IMxyIA;MA1GI,eAgBG;INq4IP;IM3yIA;MA1GI,cAgBG;INw4IP;IM9yIA;MA1GI,YAgBG;IN24IP;IMjzIA;MA1GI,cAgBG;IN84IP;IMpzIA;MA1GI,YAgBG;INi5IP;IMvzIA;MA1GI,YAgBG;INo5IP;IM1zIA;MA1GI,sBAgBG;INu5IP;IM7zIA;MA1GI,uBAgBG;IN05IP;IMh0IA;MA1GI,gBAgBG;IN65IP;IMn0IA;MA1GI,sBAgBG;INg6IP;IMt0IA;MA1GI,qBAgBG;INm6IP;IMz0IA;MA1GI,mBAgBG;INs6IP;IM50IA;MA1GI,qBAgBG;INy6IP;IM/0IA;MA1GI,mBAgBG;IN46IP;IMl1IA;MA1GI,mBAgBG;IN+6IP;IMr1IA;MA1GI,qBAgBG;INk7IP;IMx1IA;MA1GI,sBAgBG;INq7IP;IM31IA;MA1GI,eAgBG;INw7IP;IM91IA;MA1GI,qBAgBG;IN27IP;IMj2IA;MA1GI,oBAgBG;IN87IP;IMp2IA;MA1GI,kBAgBG;INi8IP;IMv2IA;MA1GI,oBAgBG;INo8IP;IM12IA;MA1GI,kBAgBG;INu8IP;IM72IA;MA1GI,kBAgBG;IN08IP;IMh3IA;MA1GI,2BAgBG;IN68IP;IMn3IA;MA1GI,4BAgBG;INg9IP;IMt3IA;MA1GI,qBAgBG;INm9IP;IMz3IA;MA1GI,2BAgBG;INs9IP;IM53IA;MA1GI,0BAgBG;INy9IP;IM/3IA;MA1GI,wBAgBG;IN49IP;IMl4IA;MA1GI,0BAgBG;IN+9IP;IMr4IA;MA1GI,wBAgBG;INk+IP;IMx4IA;MA1GI,wBAgBG;INq+IP;IM34IA;MA1GI,0BAgBG;INw+IP;IM94IA;MA1GI,2BAgBG;IN2+IP;IMj5IA;MA1GI,oBAgBG;IN8+IP;IMp5IA;MA1GI,0BAgBG;INi/IP;IMv5IA;MA1GI,yBAgBG;INo/IP;IM15IA;MA1GI,uBAgBG;INu/IP;IM75IA;MA1GI,yBAgBG;IN0/IP;IMh6IA;MA1GI,uBAgBG;IN6/IP;IMn6IA;MA1GI,uBAgBG;INggJP;IMt6IA;MA1GI,yBAgBG;INmgJP;IMz6IA;MA1GI,0BAgBG;INsgJP;IM56IA;MA1GI,mBAgBG;INygJP;IM/6IA;MA1GI,yBAgBG;IN4gJP;IMl7IA;MA1GI,wBAgBG;IN+gJP;IMr7IA;MA1GI,sBAgBG;INkhJP;IMx7IA;MA1GI,wBAgBG;INqhJP;IM37IA;MA1GI,sBAgBG;INwhJP;IM97IA;MA1GI,sBAgBG;IN2hJP;IMj8IA;MA1GI,4BAgBG;IN8hJP;IMp8IA;MA1GI,6BAgBG;INiiJP;IMv8IA;MA1GI,sBAgBG;INoiJP;IM18IA;MA1GI,4BAgBG;INuiJP;IM78IA;MA1GI,2BAgBG;IN0iJP;IMh9IA;MA1GI,yBAgBG;IN6iJP;IMn9IA;MA1GI,2BAgBG;INgjJP;IMt9IA;MA1GI,yBAgBG;INmjJP;IMz9IA;MA1GI,yBAgBG;INsjJP;IM59IA;MA1GI,gBAgBG;INyjJP;IM/9IA;MA1GI,iBAgBG;IN4jJP;IMl+IA;MA1GI,UAgBG;IN+jJP;IMr+IA;MA1GI,gBAgBG;INkkJP;IMx+IA;MA1GI,eAgBG;INqkJP;IM3+IA;MA1GI,aAgBG;INwkJP;IM9+IA;MA1GI,eAgBG;IN2kJP;IMj/IA;MA1GI,aAgBG;IN8kJP;IMp/IA;MA1GI,uBAgBG;INilJP;IMv/IA;MA1GI,wBAgBG;INolJP;IM1/IA;MA1GI,iBAgBG;INulJP;IM7/IA;MA1GI,uBAgBG;IN0lJP;IMhgJA;MA1GI,sBAgBG;IN6lJP;IMngJA;MA1GI,oBAgBG;INgmJP;IMtgJA;MA1GI,sBAgBG;INmmJP;IMzgJA;MA1GI,oBAgBG;INsmJP;IM5gJA;MA1GI,sBAgBG;INymJP;IM/gJA;MA1GI,uBAgBG;IN4mJP;IMlhJA;MA1GI,gBAgBG;IN+mJP;IMrhJA;MA1GI,sBAgBG;INknJP;IMxhJA;MA1GI,qBAgBG;INqnJP;IM3hJA;MA1GI,mBAgBG;INwnJP;IM9hJA;MA1GI,qBAgBG;IN2nJP;IMjiJA;MA1GI,mBAgBG;IN8nJP;IMpiJA;MA1GI,4BAgBG;INioJP;IMviJA;MA1GI,6BAgBG;INooJP;IM1iJA;MA1GI,sBAgBG;INuoJP;IM7iJA;MA1GI,4BAgBG;IN0oJP;IMhjJA;MA1GI,2BAgBG;IN6oJP;IMnjJA;MA1GI,yBAgBG;INgpJP;IMtjJA;MA1GI,2BAgBG;INmpJP;IMzjJA;MA1GI,yBAgBG;INspJP;IM5jJA;MA1GI,2BAgBG;INypJP;IM/jJA;MA1GI,4BAgBG;IN4pJP;IMlkJA;MA1GI,qBAgBG;IN+pJP;IMrkJA;MA1GI,2BAgBG;INkqJP;IMxkJA;MA1GI,0BAgBG;INqqJP;IM3kJA;MA1GI,wBAgBG;INwqJP;IM9kJA;MA1GI,0BAgBG;IN2qJP;IMjlJA;MA1GI,wBAgBG;IN8qJP;IMplJA;MA1GI,0BAgBG;INirJP;IMvlJA;MA1GI,2BAgBG;INorJP;IM1lJA;MA1GI,oBAgBG;INurJP;IM7lJA;MA1GI,0BAgBG;IN0rJP;IMhmJA;MA1GI,yBAgBG;IN6rJP;IMnmJA;MA1GI,uBAgBG;INgsJP;IMtmJA;MA1GI,yBAgBG;INmsJP;IMzmJA;MA1GI,uBAgBG;INssJP;IM5mJA;MA1GI,6BAgBG;INysJP;IM/mJA;MA1GI,8BAgBG;IN4sJP;IMlnJA;MA1GI,uBAgBG;IN+sJP;IMrnJA;MA1GI,6BAgBG;INktJP;IMxnJA;MA1GI,4BAgBG;INqtJP;IM3nJA;MA1GI,0BAgBG;INwtJP;IM9nJA;MA1GI,4BAgBG;IN2tJP;IMjoJA;MA1GI,0BAgBG;IN8tJP;EACF;AACF","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\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 * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n@layer layout {\n .container,\n .container-fluid,\n .container-2xl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1440px;\n }\n }\n}\n:root {\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g--2,\n .gx--2 {\n --gutter-x: -0.5rem;\n }\n .g--2,\n .gy--2 {\n --gutter-y: -0.5rem;\n }\n .g--1,\n .gx--1 {\n --gutter-x: -0.25rem;\n }\n .g--1,\n .gy--1 {\n --gutter-y: -0.25rem;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-inline-start: 0;\n }\n .offset-sm-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-sm-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-sm-3 {\n margin-inline-start: 25%;\n }\n .offset-sm-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-sm-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-sm-6 {\n margin-inline-start: 50%;\n }\n .offset-sm-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-sm-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-sm-9 {\n margin-inline-start: 75%;\n }\n .offset-sm-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-sm-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-sm--2,\n .gx-sm--2 {\n --gutter-x: -0.5rem;\n }\n .g-sm--2,\n .gy-sm--2 {\n --gutter-y: -0.5rem;\n }\n .g-sm--1,\n .gx-sm--1 {\n --gutter-x: -0.25rem;\n }\n .g-sm--1,\n .gy-sm--1 {\n --gutter-y: -0.25rem;\n }\n .g-sm-0,\n .gx-sm-0 {\n --gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-inline-start: 0;\n }\n .offset-md-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-md-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-md-3 {\n margin-inline-start: 25%;\n }\n .offset-md-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-md-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-md-6 {\n margin-inline-start: 50%;\n }\n .offset-md-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-md-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-md-9 {\n margin-inline-start: 75%;\n }\n .offset-md-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-md-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-md--2,\n .gx-md--2 {\n --gutter-x: -0.5rem;\n }\n .g-md--2,\n .gy-md--2 {\n --gutter-y: -0.5rem;\n }\n .g-md--1,\n .gx-md--1 {\n --gutter-x: -0.25rem;\n }\n .g-md--1,\n .gy-md--1 {\n --gutter-y: -0.25rem;\n }\n .g-md-0,\n .gx-md-0 {\n --gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-inline-start: 0;\n }\n .offset-lg-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-lg-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-lg-3 {\n margin-inline-start: 25%;\n }\n .offset-lg-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-lg-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-lg-6 {\n margin-inline-start: 50%;\n }\n .offset-lg-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-lg-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-lg-9 {\n margin-inline-start: 75%;\n }\n .offset-lg-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-lg-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-lg--2,\n .gx-lg--2 {\n --gutter-x: -0.5rem;\n }\n .g-lg--2,\n .gy-lg--2 {\n --gutter-y: -0.5rem;\n }\n .g-lg--1,\n .gx-lg--1 {\n --gutter-x: -0.25rem;\n }\n .g-lg--1,\n .gy-lg--1 {\n --gutter-y: -0.25rem;\n }\n .g-lg-0,\n .gx-lg-0 {\n --gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-inline-start: 0;\n }\n .offset-xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-xl-3 {\n margin-inline-start: 25%;\n }\n .offset-xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-xl-6 {\n margin-inline-start: 50%;\n }\n .offset-xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-xl-9 {\n margin-inline-start: 75%;\n }\n .offset-xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-xl--2,\n .gx-xl--2 {\n --gutter-x: -0.5rem;\n }\n .g-xl--2,\n .gy-xl--2 {\n --gutter-y: -0.5rem;\n }\n .g-xl--1,\n .gx-xl--1 {\n --gutter-x: -0.25rem;\n }\n .g-xl--1,\n .gy-xl--1 {\n --gutter-y: -0.25rem;\n }\n .g-xl-0,\n .gx-xl-0 {\n --gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .col-2xl {\n flex: 1 0 0;\n }\n .row-cols-2xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-2xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-2xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-2xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-2xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-2xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-2xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-2xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-2xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-2xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-2xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-2xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-2xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-2xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-2xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-2xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-2xl-0 {\n margin-inline-start: 0;\n }\n .offset-2xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-2xl-3 {\n margin-inline-start: 25%;\n }\n .offset-2xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-2xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-2xl-6 {\n margin-inline-start: 50%;\n }\n .offset-2xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-2xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-2xl-9 {\n margin-inline-start: 75%;\n }\n .offset-2xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-2xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-2xl--2,\n .gx-2xl--2 {\n --gutter-x: -0.5rem;\n }\n .g-2xl--2,\n .gy-2xl--2 {\n --gutter-y: -0.5rem;\n }\n .g-2xl--1,\n .gx-2xl--1 {\n --gutter-x: -0.25rem;\n }\n .g-2xl--1,\n .gy-2xl--1 {\n --gutter-y: -0.25rem;\n }\n .g-2xl-0,\n .gx-2xl-0 {\n --gutter-x: 0;\n }\n .g-2xl-0,\n .gy-2xl-0 {\n --gutter-y: 0;\n }\n .g-2xl-1,\n .gx-2xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-2xl-1,\n .gy-2xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-2xl-2,\n .gx-2xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-2xl-2,\n .gy-2xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-2xl-3,\n .gx-2xl-3 {\n --gutter-x: 1rem;\n }\n .g-2xl-3,\n .gy-2xl-3 {\n --gutter-y: 1rem;\n }\n .g-2xl-4,\n .gx-2xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-2xl-4,\n .gy-2xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-2xl-5,\n .gx-2xl-5 {\n --gutter-x: 3rem;\n }\n .g-2xl-5,\n .gy-2xl-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .g-col-sm-1 {\n grid-column: auto/span 1;\n }\n .g-col-sm-2 {\n grid-column: auto/span 2;\n }\n .g-col-sm-3 {\n grid-column: auto/span 3;\n }\n .g-col-sm-4 {\n grid-column: auto/span 4;\n }\n .g-col-sm-5 {\n grid-column: auto/span 5;\n }\n .g-col-sm-6 {\n grid-column: auto/span 6;\n }\n .g-col-sm-7 {\n grid-column: auto/span 7;\n }\n .g-col-sm-8 {\n grid-column: auto/span 8;\n }\n .g-col-sm-9 {\n grid-column: auto/span 9;\n }\n .g-col-sm-10 {\n grid-column: auto/span 10;\n }\n .g-col-sm-11 {\n grid-column: auto/span 11;\n }\n .g-col-sm-12 {\n grid-column: auto/span 12;\n }\n .g-start-sm-1 {\n grid-column-start: 1;\n }\n .g-start-sm-2 {\n grid-column-start: 2;\n }\n .g-start-sm-3 {\n grid-column-start: 3;\n }\n .g-start-sm-4 {\n grid-column-start: 4;\n }\n .g-start-sm-5 {\n grid-column-start: 5;\n }\n .g-start-sm-6 {\n grid-column-start: 6;\n }\n .g-start-sm-7 {\n grid-column-start: 7;\n }\n .g-start-sm-8 {\n grid-column-start: 8;\n }\n .g-start-sm-9 {\n grid-column-start: 9;\n }\n .g-start-sm-10 {\n grid-column-start: 10;\n }\n .g-start-sm-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .g-col-md-1 {\n grid-column: auto/span 1;\n }\n .g-col-md-2 {\n grid-column: auto/span 2;\n }\n .g-col-md-3 {\n grid-column: auto/span 3;\n }\n .g-col-md-4 {\n grid-column: auto/span 4;\n }\n .g-col-md-5 {\n grid-column: auto/span 5;\n }\n .g-col-md-6 {\n grid-column: auto/span 6;\n }\n .g-col-md-7 {\n grid-column: auto/span 7;\n }\n .g-col-md-8 {\n grid-column: auto/span 8;\n }\n .g-col-md-9 {\n grid-column: auto/span 9;\n }\n .g-col-md-10 {\n grid-column: auto/span 10;\n }\n .g-col-md-11 {\n grid-column: auto/span 11;\n }\n .g-col-md-12 {\n grid-column: auto/span 12;\n }\n .g-start-md-1 {\n grid-column-start: 1;\n }\n .g-start-md-2 {\n grid-column-start: 2;\n }\n .g-start-md-3 {\n grid-column-start: 3;\n }\n .g-start-md-4 {\n grid-column-start: 4;\n }\n .g-start-md-5 {\n grid-column-start: 5;\n }\n .g-start-md-6 {\n grid-column-start: 6;\n }\n .g-start-md-7 {\n grid-column-start: 7;\n }\n .g-start-md-8 {\n grid-column-start: 8;\n }\n .g-start-md-9 {\n grid-column-start: 9;\n }\n .g-start-md-10 {\n grid-column-start: 10;\n }\n .g-start-md-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .g-col-lg-1 {\n grid-column: auto/span 1;\n }\n .g-col-lg-2 {\n grid-column: auto/span 2;\n }\n .g-col-lg-3 {\n grid-column: auto/span 3;\n }\n .g-col-lg-4 {\n grid-column: auto/span 4;\n }\n .g-col-lg-5 {\n grid-column: auto/span 5;\n }\n .g-col-lg-6 {\n grid-column: auto/span 6;\n }\n .g-col-lg-7 {\n grid-column: auto/span 7;\n }\n .g-col-lg-8 {\n grid-column: auto/span 8;\n }\n .g-col-lg-9 {\n grid-column: auto/span 9;\n }\n .g-col-lg-10 {\n grid-column: auto/span 10;\n }\n .g-col-lg-11 {\n grid-column: auto/span 11;\n }\n .g-col-lg-12 {\n grid-column: auto/span 12;\n }\n .g-start-lg-1 {\n grid-column-start: 1;\n }\n .g-start-lg-2 {\n grid-column-start: 2;\n }\n .g-start-lg-3 {\n grid-column-start: 3;\n }\n .g-start-lg-4 {\n grid-column-start: 4;\n }\n .g-start-lg-5 {\n grid-column-start: 5;\n }\n .g-start-lg-6 {\n grid-column-start: 6;\n }\n .g-start-lg-7 {\n grid-column-start: 7;\n }\n .g-start-lg-8 {\n grid-column-start: 8;\n }\n .g-start-lg-9 {\n grid-column-start: 9;\n }\n .g-start-lg-10 {\n grid-column-start: 10;\n }\n .g-start-lg-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .g-col-xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-xl-1 {\n grid-column-start: 1;\n }\n .g-start-xl-2 {\n grid-column-start: 2;\n }\n .g-start-xl-3 {\n grid-column-start: 3;\n }\n .g-start-xl-4 {\n grid-column-start: 4;\n }\n .g-start-xl-5 {\n grid-column-start: 5;\n }\n .g-start-xl-6 {\n grid-column-start: 6;\n }\n .g-start-xl-7 {\n grid-column-start: 7;\n }\n .g-start-xl-8 {\n grid-column-start: 8;\n }\n .g-start-xl-9 {\n grid-column-start: 9;\n }\n .g-start-xl-10 {\n grid-column-start: 10;\n }\n .g-start-xl-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .g-col-2xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-2xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-2xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-2xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-2xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-2xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-2xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-2xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-2xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-2xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-2xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-2xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-2xl-1 {\n grid-column-start: 1;\n }\n .g-start-2xl-2 {\n grid-column-start: 2;\n }\n .g-start-2xl-3 {\n grid-column-start: 3;\n }\n .g-start-2xl-4 {\n grid-column-start: 4;\n }\n .g-start-2xl-5 {\n grid-column-start: 5;\n }\n .g-start-2xl-6 {\n grid-column-start: 6;\n }\n .g-start-2xl-7 {\n grid-column-start: 7;\n }\n .g-start-2xl-8 {\n grid-column-start: 8;\n }\n .g-start-2xl-9 {\n grid-column-start: 9;\n }\n .g-start-2xl-10 {\n grid-column-start: 10;\n }\n .g-start-2xl-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer utilities {\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .order-first {\n order: -1;\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-last {\n order: 6;\n }\n .m--2 {\n margin: -0.5rem;\n }\n .m--1 {\n margin: -0.25rem;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx--2 {\n margin-inline: -0.5rem;\n }\n .mx--1 {\n margin-inline: -0.25rem;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my--2 {\n margin-block: -0.5rem;\n }\n .my--1 {\n margin-block: -0.25rem;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt--2 {\n margin-block-start: -0.5rem;\n }\n .mt--1 {\n margin-block-start: -0.25rem;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me--2 {\n margin-inline-end: -0.5rem;\n }\n .me--1 {\n margin-inline-end: -0.25rem;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb--2 {\n margin-block-end: -0.5rem;\n }\n .mb--1 {\n margin-block-end: -0.25rem;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p--2 {\n padding: -0.5rem;\n }\n .p--1 {\n padding: -0.25rem;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px--2 {\n padding-inline: -0.5rem;\n }\n .px--1 {\n padding-inline: -0.25rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py--2 {\n padding-block: -0.5rem;\n }\n .py--1 {\n padding-block: -0.25rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt--2 {\n padding-block-start: -0.5rem;\n }\n .pt--1 {\n padding-block-start: -0.25rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe--2 {\n padding-inline-end: -0.5rem;\n }\n .pe--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb--2 {\n padding-block-end: -0.5rem;\n }\n .pb--1 {\n padding-block-end: -0.25rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps--2 {\n padding-inline-start: -0.5rem;\n }\n .ps--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n @media (width >= 576px) {\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm--2 {\n margin: -0.5rem;\n }\n .m-sm--1 {\n margin: -0.25rem;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm--2 {\n margin-inline: -0.5rem;\n }\n .mx-sm--1 {\n margin-inline: -0.25rem;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm--2 {\n margin-block: -0.5rem;\n }\n .my-sm--1 {\n margin-block: -0.25rem;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm--2 {\n margin-block-start: -0.5rem;\n }\n .mt-sm--1 {\n margin-block-start: -0.25rem;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm--2 {\n margin-inline-end: -0.5rem;\n }\n .me-sm--1 {\n margin-inline-end: -0.25rem;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm--2 {\n margin-block-end: -0.5rem;\n }\n .mb-sm--1 {\n margin-block-end: -0.25rem;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm--2 {\n padding: -0.5rem;\n }\n .p-sm--1 {\n padding: -0.25rem;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm--2 {\n padding-inline: -0.5rem;\n }\n .px-sm--1 {\n padding-inline: -0.25rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm--2 {\n padding-block: -0.5rem;\n }\n .py-sm--1 {\n padding-block: -0.25rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm--2 {\n padding-block-start: -0.5rem;\n }\n .pt-sm--1 {\n padding-block-start: -0.25rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-sm--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm--2 {\n padding-block-end: -0.5rem;\n }\n .pb-sm--1 {\n padding-block-end: -0.25rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-sm--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 768px) {\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md--2 {\n margin: -0.5rem;\n }\n .m-md--1 {\n margin: -0.25rem;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md--2 {\n margin-inline: -0.5rem;\n }\n .mx-md--1 {\n margin-inline: -0.25rem;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md--2 {\n margin-block: -0.5rem;\n }\n .my-md--1 {\n margin-block: -0.25rem;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md--2 {\n margin-block-start: -0.5rem;\n }\n .mt-md--1 {\n margin-block-start: -0.25rem;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md--2 {\n margin-inline-end: -0.5rem;\n }\n .me-md--1 {\n margin-inline-end: -0.25rem;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md--2 {\n margin-block-end: -0.5rem;\n }\n .mb-md--1 {\n margin-block-end: -0.25rem;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md--2 {\n padding: -0.5rem;\n }\n .p-md--1 {\n padding: -0.25rem;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md--2 {\n padding-inline: -0.5rem;\n }\n .px-md--1 {\n padding-inline: -0.25rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md--2 {\n padding-block: -0.5rem;\n }\n .py-md--1 {\n padding-block: -0.25rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md--2 {\n padding-block-start: -0.5rem;\n }\n .pt-md--1 {\n padding-block-start: -0.25rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-md--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md--2 {\n padding-block-end: -0.5rem;\n }\n .pb-md--1 {\n padding-block-end: -0.25rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-md--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1024px) {\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg--2 {\n margin: -0.5rem;\n }\n .m-lg--1 {\n margin: -0.25rem;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg--2 {\n margin-inline: -0.5rem;\n }\n .mx-lg--1 {\n margin-inline: -0.25rem;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg--2 {\n margin-block: -0.5rem;\n }\n .my-lg--1 {\n margin-block: -0.25rem;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg--2 {\n margin-block-start: -0.5rem;\n }\n .mt-lg--1 {\n margin-block-start: -0.25rem;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg--2 {\n margin-inline-end: -0.5rem;\n }\n .me-lg--1 {\n margin-inline-end: -0.25rem;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg--2 {\n margin-block-end: -0.5rem;\n }\n .mb-lg--1 {\n margin-block-end: -0.25rem;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg--2 {\n padding: -0.5rem;\n }\n .p-lg--1 {\n padding: -0.25rem;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg--2 {\n padding-inline: -0.5rem;\n }\n .px-lg--1 {\n padding-inline: -0.25rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg--2 {\n padding-block: -0.5rem;\n }\n .py-lg--1 {\n padding-block: -0.25rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg--2 {\n padding-block-start: -0.5rem;\n }\n .pt-lg--1 {\n padding-block-start: -0.25rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-lg--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg--2 {\n padding-block-end: -0.5rem;\n }\n .pb-lg--1 {\n padding-block-end: -0.25rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-lg--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1280px) {\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl--2 {\n margin: -0.5rem;\n }\n .m-xl--1 {\n margin: -0.25rem;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl--2 {\n margin-inline: -0.5rem;\n }\n .mx-xl--1 {\n margin-inline: -0.25rem;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl--2 {\n margin-block: -0.5rem;\n }\n .my-xl--1 {\n margin-block: -0.25rem;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl--2 {\n margin-block-start: -0.5rem;\n }\n .mt-xl--1 {\n margin-block-start: -0.25rem;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl--2 {\n margin-inline-end: -0.5rem;\n }\n .me-xl--1 {\n margin-inline-end: -0.25rem;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl--2 {\n margin-block-end: -0.5rem;\n }\n .mb-xl--1 {\n margin-block-end: -0.25rem;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl--2 {\n padding: -0.5rem;\n }\n .p-xl--1 {\n padding: -0.25rem;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl--2 {\n padding-inline: -0.5rem;\n }\n .px-xl--1 {\n padding-inline: -0.25rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl--2 {\n padding-block: -0.5rem;\n }\n .py-xl--1 {\n padding-block: -0.25rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl--2 {\n padding-block-start: -0.5rem;\n }\n .pt-xl--1 {\n padding-block-start: -0.25rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-xl--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl--2 {\n padding-block-end: -0.5rem;\n }\n .pb-xl--1 {\n padding-block-end: -0.25rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-xl--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1536px) {\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl--2 {\n margin: -0.5rem;\n }\n .m-2xl--1 {\n margin: -0.25rem;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl--2 {\n margin-inline: -0.5rem;\n }\n .mx-2xl--1 {\n margin-inline: -0.25rem;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl--2 {\n margin-block: -0.5rem;\n }\n .my-2xl--1 {\n margin-block: -0.25rem;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl--2 {\n margin-block-start: -0.5rem;\n }\n .mt-2xl--1 {\n margin-block-start: -0.25rem;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl--2 {\n margin-inline-end: -0.5rem;\n }\n .me-2xl--1 {\n margin-inline-end: -0.25rem;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl--2 {\n margin-block-end: -0.5rem;\n }\n .mb-2xl--1 {\n margin-block-end: -0.25rem;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl--2 {\n padding: -0.5rem;\n }\n .p-2xl--1 {\n padding: -0.25rem;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl--2 {\n padding-inline: -0.5rem;\n }\n .px-2xl--1 {\n padding-inline: -0.25rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl--2 {\n padding-block: -0.5rem;\n }\n .py-2xl--1 {\n padding-block: -0.25rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl--2 {\n padding-block-start: -0.5rem;\n }\n .pt-2xl--1 {\n padding-block-start: -0.25rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-2xl--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl--2 {\n padding-block-end: -0.5rem;\n }\n .pb-2xl--1 {\n padding-block-end: -0.25rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-2xl--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $grid-breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $grid-breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $grid-breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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 (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 (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 (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type: \"media-query\" !default;\n$color-contrast-dark: #000 !default;\n$color-contrast-light: #fff !default;\n$min-contrast-ratio: 4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n -2: $spacer * -.5,\n -1: $spacer * -.25,\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\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// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\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: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !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","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --breakpoint-#{$name}: #{$value};\n }\n}\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-width};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-width};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n // Loop over each breakpoint\n @each $breakpoint in map.keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n }\n\n // Print utilities\n @media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../scss/_banner.scss","../../scss/layout/_containers.scss","bootstrap-grid.css","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss","../../scss/bootstrap-grid.scss"],"names":[],"mappings":"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A;IJolCR;IIrlCM;MACE,wBAAA;IJulCR;IIxlCM;MACE,wBAAA;IJ0lCR;II3lCM;MACE,wBAAA;IJ6lCR;II9lCM;MACE,wBAAA;IJgmCR;IIjmCM;MACE,wBAAA;IJmmCR;IIpmCM;MACE,wBAAA;IJsmCR;IIvmCM;MACE,wBAAA;IJymCR;II1mCM;MACE,yBAAA;IJ4mCR;II7mCM;MACE,yBAAA;IJ+mCR;IIhnCM;MACE,yBAAA;IJknCR;II3mCM;MACE,oBAFS;IJ+mCjB;II9mCM;MACE,oBAFS;IJknCjB;IIjnCM;MACE,oBAFS;IJqnCjB;IIpnCM;MACE,oBAFS;IJwnCjB;IIvnCM;MACE,oBAFS;IJ2nCjB;II1nCM;MACE,oBAFS;IJ8nCjB;II7nCM;MACE,oBAFS;IJioCjB;IIhoCM;MACE,oBAFS;IJooCjB;IInoCM;MACE,oBAFS;IJuoCjB;IItoCM;MACE,qBAFS;IJ0oCjB;IIzoCM;MACE,qBAFS;IJ6oCjB;EACF;ECzrCE;IGoCM;MACE,wBAAA;IJwpCR;IIzpCM;MACE,wBAAA;IJ2pCR;II5pCM;MACE,wBAAA;IJ8pCR;II/pCM;MACE,wBAAA;IJiqCR;IIlqCM;MACE,wBAAA;IJoqCR;IIrqCM;MACE,wBAAA;IJuqCR;IIxqCM;MACE,wBAAA;IJ0qCR;II3qCM;MACE,wBAAA;IJ6qCR;II9qCM;MACE,wBAAA;IJgrCR;IIjrCM;MACE,yBAAA;IJmrCR;IIprCM;MACE,yBAAA;IJsrCR;IIvrCM;MACE,yBAAA;IJyrCR;IIlrCM;MACE,oBAFS;IJsrCjB;IIrrCM;MACE,oBAFS;IJyrCjB;IIxrCM;MACE,oBAFS;IJ4rCjB;II3rCM;MACE,oBAFS;IJ+rCjB;II9rCM;MACE,oBAFS;IJksCjB;IIjsCM;MACE,oBAFS;IJqsCjB;IIpsCM;MACE,oBAFS;IJwsCjB;IIvsCM;MACE,oBAFS;IJ2sCjB;II1sCM;MACE,oBAFS;IJ8sCjB;II7sCM;MACE,qBAFS;IJitCjB;IIhtCM;MACE,qBAFS;IJotCjB;EACF;EChwCE;IGoCM;MACE,wBAAA;IJ+tCR;IIhuCM;MACE,wBAAA;IJkuCR;IInuCM;MACE,wBAAA;IJquCR;IItuCM;MACE,wBAAA;IJwuCR;IIzuCM;MACE,wBAAA;IJ2uCR;II5uCM;MACE,wBAAA;IJ8uCR;II/uCM;MACE,wBAAA;IJivCR;IIlvCM;MACE,wBAAA;IJovCR;IIrvCM;MACE,wBAAA;IJuvCR;IIxvCM;MACE,yBAAA;IJ0vCR;II3vCM;MACE,yBAAA;IJ6vCR;II9vCM;MACE,yBAAA;IJgwCR;IIzvCM;MACE,oBAFS;IJ6vCjB;II5vCM;MACE,oBAFS;IJgwCjB;II/vCM;MACE,oBAFS;IJmwCjB;IIlwCM;MACE,oBAFS;IJswCjB;IIrwCM;MACE,oBAFS;IJywCjB;IIxwCM;MACE,oBAFS;IJ4wCjB;II3wCM;MACE,oBAFS;IJ+wCjB;II9wCM;MACE,oBAFS;IJkxCjB;IIjxCM;MACE,oBAFS;IJqxCjB;IIpxCM;MACE,qBAFS;IJwxCjB;IIvxCM;MACE,qBAFS;IJ2xCjB;EACF;ECv0CE;IGoCM;MACE,wBAAA;IJsyCR;IIvyCM;MACE,wBAAA;IJyyCR;II1yCM;MACE,wBAAA;IJ4yCR;II7yCM;MACE,wBAAA;IJ+yCR;IIhzCM;MACE,wBAAA;IJkzCR;IInzCM;MACE,wBAAA;IJqzCR;IItzCM;MACE,wBAAA;IJwzCR;IIzzCM;MACE,wBAAA;IJ2zCR;II5zCM;MACE,wBAAA;IJ8zCR;II/zCM;MACE,yBAAA;IJi0CR;IIl0CM;MACE,yBAAA;IJo0CR;IIr0CM;MACE,yBAAA;IJu0CR;IIh0CM;MACE,oBAFS;IJo0CjB;IIn0CM;MACE,oBAFS;IJu0CjB;IIt0CM;MACE,oBAFS;IJ00CjB;IIz0CM;MACE,oBAFS;IJ60CjB;II50CM;MACE,oBAFS;IJg1CjB;II/0CM;MACE,oBAFS;IJm1CjB;IIl1CM;MACE,oBAFS;IJs1CjB;IIr1CM;MACE,oBAFS;IJy1CjB;IIx1CM;MACE,oBAFS;IJ41CjB;II31CM;MACE,qBAFS;IJ+1CjB;II91CM;MACE,qBAFS;IJk2CjB;EACF;EC94CE;IGoCM;MACE,wBAAA;IJ62CR;II92CM;MACE,wBAAA;IJg3CR;IIj3CM;MACE,wBAAA;IJm3CR;IIp3CM;MACE,wBAAA;IJs3CR;IIv3CM;MACE,wBAAA;IJy3CR;II13CM;MACE,wBAAA;IJ43CR;II73CM;MACE,wBAAA;IJ+3CR;IIh4CM;MACE,wBAAA;IJk4CR;IIn4CM;MACE,wBAAA;IJq4CR;IIt4CM;MACE,yBAAA;IJw4CR;IIz4CM;MACE,yBAAA;IJ24CR;II54CM;MACE,yBAAA;IJ84CR;IIv4CM;MACE,oBAFS;IJ24CjB;II14CM;MACE,oBAFS;IJ84CjB;II74CM;MACE,oBAFS;IJi5CjB;IIh5CM;MACE,oBAFS;IJo5CjB;IIn5CM;MACE,oBAFS;IJu5CjB;IIt5CM;MACE,oBAFS;IJ05CjB;IIz5CM;MACE,oBAFS;IJ65CjB;II55CM;MACE,oBAFS;IJg6CjB;II/5CM;MACE,oBAFS;IJm6CjB;IIl6CM;MACE,qBAFS;IJs6CjB;IIr6CM;MACE,qBAFS;IJy6CjB;EACF;EG1hDA;IACE,8BAAA;EH4hDF;EGzhDA;IACE,gBAAA;IAEA,aAAA;IACA,uDAAA;IACA,mBAAA;IACA,kBAAA;EH0hDF;AACF;AKlkDA;ECyMI;IApII,eA+CO;ENk9Cb;EM73CE;IApII,qBA+CO;ENq9Cb;EMh4CE;IApII,cA+CO;ENw9Cb;EMn4CE;IApII,aA+CO;EN29Cb;EMt4CE;IApII,oBA+CO;EN89Cb;EMz4CE;IApII,cA+CO;ENi+Cb;EM54CE;IApII,kBA+CO;ENo+Cb;EM/4CE;IApII,mBA+CO;ENu+Cb;EMl5CE;IApII,aA+CO;EN0+Cb;EMr5CE;IApII,oBA+CO;EN6+Cb;EMx5CE;IApII,iBA+CO;ENg/Cb;EM35CE;IApII,kBA+CO;ENm/Cb;EM95CE;IApII,aA+CO;ENs/Cb;EMj6CE;IApII,cA0CG;EN8/CT;EMp6CE;IApII,mBA+CO;EN4/Cb;EMv6CE;IApII,sBA+CO;EN+/Cb;EM16CE;IApII,2BA+CO;ENkgDb;EM76CE;IApII,8BA+CO;ENqgDb;EMh7CE;IApII,YA0CG;EN6gDT;EMn7CE;IApII,YA0CG;ENghDT;EMt7CE;IApII,cA0CG;ENmhDT;EMz7CE;IApII,cA0CG;ENshDT;EM57CE;IApII,eA+CO;ENohDb;EM/7CE;IApII,iBA+CO;ENuhDb;EMl8CE;IApII,uBA+CO;EN0hDb;EMr8CE;IApII,2BA0CG;ENkiDT;EMx8CE;IApII,yBA0CG;ENqiDT;EM38CE;IApII,uBA0CG;ENwiDT;EM98CE;IApII,8BA0CG;EN2iDT;EMj9CE;IApII,6BA0CG;EN8iDT;EMp9CE;IApII,6BA0CG;ENijDT;EMv9CE;IApII,oBA0CG;ENojDT;EM19CE;IApII,kBA0CG;ENujDT;EM79CE;IApII,qBA0CG;EN0jDT;EMh+CE;IApII,sBA0CG;EN6jDT;EMn+CE;IApII,uBA0CG;ENgkDT;EMt+CE;IApII,qBA0CG;ENmkDT;EMz+CE;IApII,mBA0CG;ENskDT;EM5+CE;IApII,qBA0CG;ENykDT;EM/+CE;IApII,oBA0CG;EN4kDT;EMl/CE;IApII,yBA0CG;EN+kDT;EMr/CE;IApII,uBA0CG;ENklDT;EMx/CE;IApII,qBA0CG;ENqlDT;EM3/CE;IApII,4BA0CG;ENwlDT;EM9/CE;IApII,2BA0CG;EN2lDT;EMjgDE;IApII,sBA0CG;EN8lDT;EMpgDE;IApII,gBA0CG;ENimDT;EMvgDE;IApII,sBA0CG;ENomDT;EM1gDE;IApII,oBA0CG;ENumDT;EM7gDE;IApII,kBA0CG;EN0mDT;EMhhDE;IApII,oBA0CG;EN6mDT;EMnhDE;IApII,mBA0CG;ENgnDT;EMthDE;IApII,kBA0CG;ENmnDT;EMzhDE;IApII,gBA0CG;ENsnDT;EM5hDE;IApII,mBA0CG;ENynDT;EM/hDE;IApII,oBA0CG;EN4nDT;EMliDE;IApII,SA0CG;EN+nDT;EMriDE;IApII,QA0CG;ENkoDT;EMxiDE;IApII,QA0CG;ENqoDT;EM3iDE;IApII,QA0CG;ENwoDT;EM9iDE;IApII,QA0CG;EN2oDT;EMjjDE;IApII,QA0CG;EN8oDT;EMpjDE;IApII,QA0CG;ENipDT;EMvjDE;IApII,QA0CG;ENopDT;EM1jDE;IApII,eA0CG;ENupDT;EM7jDE;IApII,gBA0CG;EN0pDT;EMhkDE;IApII,SA0CG;EN6pDT;EMnkDE;IApII,eA0CG;ENgqDT;EMtkDE;IApII,cA0CG;ENmqDT;EMzkDE;IApII,YA0CG;ENsqDT;EM5kDE;IApII,cA0CG;ENyqDT;EM/kDE;IApII,YA0CG;EN4qDT;EMllDE;IApII,YA0CG;EN+qDT;EMrlDE;IApII,sBA0CG;ENkrDT;EMxlDE;IApII,uBA0CG;ENqrDT;EM3lDE;IApII,gBA0CG;ENwrDT;EM9lDE;IApII,sBA0CG;EN2rDT;EMjmDE;IApII,qBA0CG;EN8rDT;EMpmDE;IApII,mBA0CG;ENisDT;EMvmDE;IApII,qBA0CG;ENosDT;EM1mDE;IApII,mBA0CG;ENusDT;EM7mDE;IApII,mBA0CG;EN0sDT;EMhnDE;IApII,qBA0CG;EN6sDT;EMnnDE;IApII,sBA0CG;ENgtDT;EMtnDE;IApII,eA0CG;ENmtDT;EMznDE;IApII,qBA0CG;ENstDT;EM5nDE;IApII,oBA0CG;ENytDT;EM/nDE;IApII,kBA0CG;EN4tDT;EMloDE;IApII,oBA0CG;EN+tDT;EMroDE;IApII,kBA0CG;ENkuDT;EMxoDE;IApII,kBA0CG;ENquDT;EM3oDE;IApII,2BA0CG;ENwuDT;EM9oDE;IApII,4BA0CG;EN2uDT;EMjpDE;IApII,qBA0CG;EN8uDT;EMppDE;IApII,2BA0CG;ENivDT;EMvpDE;IApII,0BA0CG;ENovDT;EM1pDE;IApII,wBA0CG;ENuvDT;EM7pDE;IApII,0BA0CG;EN0vDT;EMhqDE;IApII,wBA0CG;EN6vDT;EMnqDE;IApII,wBA0CG;ENgwDT;EMtqDE;IApII,0BA0CG;ENmwDT;EMzqDE;IApII,2BA0CG;ENswDT;EM5qDE;IApII,oBA0CG;ENywDT;EM/qDE;IApII,0BA0CG;EN4wDT;EMlrDE;IApII,yBA0CG;EN+wDT;EMrrDE;IApII,uBA0CG;ENkxDT;EMxrDE;IApII,yBA0CG;ENqxDT;EM3rDE;IApII,uBA0CG;ENwxDT;EM9rDE;IApII,uBA0CG;EN2xDT;EMjsDE;IApII,yBA0CG;EN8xDT;EMpsDE;IApII,0BA0CG;ENiyDT;EMvsDE;IApII,mBA0CG;ENoyDT;EM1sDE;IApII,yBA0CG;ENuyDT;EM7sDE;IApII,wBA0CG;EN0yDT;EMhtDE;IApII,sBA0CG;EN6yDT;EMntDE;IApII,wBA0CG;ENgzDT;EMttDE;IApII,sBA0CG;ENmzDT;EMztDE;IApII,sBA0CG;ENszDT;EM5tDE;IApII,4BA0CG;ENyzDT;EM/tDE;IApII,6BA0CG;EN4zDT;EMluDE;IApII,sBA0CG;EN+zDT;EMruDE;IApII,4BA0CG;ENk0DT;EMxuDE;IApII,2BA0CG;ENq0DT;EM3uDE;IApII,yBA0CG;ENw0DT;EM9uDE;IApII,2BA0CG;EN20DT;EMjvDE;IApII,yBA0CG;EN80DT;EMpvDE;IApII,yBA0CG;ENi1DT;EMvvDE;IApII,gBA0CG;ENo1DT;EM1vDE;IApII,iBA0CG;ENu1DT;EM7vDE;IApII,UA0CG;EN01DT;EMhwDE;IApII,gBA0CG;EN61DT;EMnwDE;IApII,eA0CG;ENg2DT;EMtwDE;IApII,aA0CG;ENm2DT;EMzwDE;IApII,eA0CG;ENs2DT;EM5wDE;IApII,aA0CG;ENy2DT;EM/wDE;IApII,uBA0CG;EN42DT;EMlxDE;IApII,wBA0CG;EN+2DT;EMrxDE;IApII,iBA0CG;ENk3DT;EMxxDE;IApII,uBA0CG;ENq3DT;EM3xDE;IApII,sBA0CG;ENw3DT;EM9xDE;IApII,oBA0CG;EN23DT;EMjyDE;IApII,sBA0CG;EN83DT;EMpyDE;IApII,oBA0CG;ENi4DT;EMvyDE;IApII,sBA0CG;ENo4DT;EM1yDE;IApII,uBA0CG;ENu4DT;EM7yDE;IApII,gBA0CG;EN04DT;EMhzDE;IApII,sBA0CG;EN64DT;EMnzDE;IApII,qBA0CG;ENg5DT;EMtzDE;IApII,mBA0CG;ENm5DT;EMzzDE;IApII,qBA0CG;ENs5DT;EM5zDE;IApII,mBA0CG;ENy5DT;EM/zDE;IApII,4BA0CG;EN45DT;EMl0DE;IApII,6BA0CG;EN+5DT;EMr0DE;IApII,sBA0CG;ENk6DT;EMx0DE;IApII,4BA0CG;ENq6DT;EM30DE;IApII,2BA0CG;ENw6DT;EM90DE;IApII,yBA0CG;EN26DT;EMj1DE;IApII,2BA0CG;EN86DT;EMp1DE;IApII,yBA0CG;ENi7DT;EMv1DE;IApII,2BA0CG;ENo7DT;EM11DE;IApII,4BA0CG;ENu7DT;EM71DE;IApII,qBA0CG;EN07DT;EMh2DE;IApII,2BA0CG;EN67DT;EMn2DE;IApII,0BA0CG;ENg8DT;EMt2DE;IApII,wBA0CG;ENm8DT;EMz2DE;IApII,0BA0CG;ENs8DT;EM52DE;IApII,wBA0CG;ENy8DT;EM/2DE;IApII,0BA0CG;EN48DT;EMl3DE;IApII,2BA0CG;EN+8DT;EMr3DE;IApII,oBA0CG;ENk9DT;EMx3DE;IApII,0BA0CG;ENq9DT;EM33DE;IApII,yBA0CG;ENw9DT;EM93DE;IApII,uBA0CG;EN29DT;EMj4DE;IApII,yBA0CG;EN89DT;EMp4DE;IApII,uBA0CG;ENi+DT;EMv4DE;IApII,6BA0CG;ENo+DT;EM14DE;IApII,8BA0CG;ENu+DT;EM74DE;IApII,uBA0CG;EN0+DT;EMh5DE;IApII,6BA0CG;EN6+DT;EMn5DE;IApII,4BA0CG;ENg/DT;EMt5DE;IApII,0BA0CG;ENm/DT;EMz5DE;IApII,4BA0CG;ENs/DT;EM55DE;IApII,0BA0CG;ENy/DT;ECtgEE;IKuGA;MApII,eA+CO;INw/DX;IMn6DA;MApII,qBA+CO;IN2/DX;IMt6DA;MApII,cA+CO;IN8/DX;IMz6DA;MApII,aA+CO;INigEX;IM56DA;MApII,oBA+CO;INogEX;IM/6DA;MApII,cA+CO;INugEX;IMl7DA;MApII,kBA+CO;IN0gEX;IMr7DA;MApII,mBA+CO;IN6gEX;IMx7DA;MApII,aA+CO;INghEX;IM37DA;MApII,oBA+CO;INmhEX;IM97DA;MApII,iBA+CO;INshEX;IMj8DA;MApII,kBA+CO;INyhEX;IMp8DA;MApII,aA+CO;IN4hEX;IMv8DA;MApII,cA0CG;INoiEP;IM18DA;MApII,mBA+CO;INkiEX;IM78DA;MApII,sBA+CO;INqiEX;IMh9DA;MApII,2BA+CO;INwiEX;IMn9DA;MApII,8BA+CO;IN2iEX;IMt9DA;MApII,YA0CG;INmjEP;IMz9DA;MApII,YA0CG;INsjEP;IM59DA;MApII,cA0CG;INyjEP;IM/9DA;MApII,cA0CG;IN4jEP;IMl+DA;MApII,eA+CO;IN0jEX;IMr+DA;MApII,iBA+CO;IN6jEX;IMx+DA;MApII,uBA+CO;INgkEX;IM3+DA;MApII,2BA0CG;INwkEP;IM9+DA;MApII,yBA0CG;IN2kEP;IMj/DA;MApII,uBA0CG;IN8kEP;IMp/DA;MApII,8BA0CG;INilEP;IMv/DA;MApII,6BA0CG;INolEP;IM1/DA;MApII,6BA0CG;INulEP;IM7/DA;MApII,oBA0CG;IN0lEP;IMhgEA;MApII,kBA0CG;IN6lEP;IMngEA;MApII,qBA0CG;INgmEP;IMtgEA;MApII,sBA0CG;INmmEP;IMzgEA;MApII,uBA0CG;INsmEP;IM5gEA;MApII,qBA0CG;INymEP;IM/gEA;MApII,mBA0CG;IN4mEP;IMlhEA;MApII,qBA0CG;IN+mEP;IMrhEA;MApII,oBA0CG;INknEP;IMxhEA;MApII,yBA0CG;INqnEP;IM3hEA;MApII,uBA0CG;INwnEP;IM9hEA;MApII,qBA0CG;IN2nEP;IMjiEA;MApII,4BA0CG;IN8nEP;IMpiEA;MApII,2BA0CG;INioEP;IMviEA;MApII,sBA0CG;INooEP;IM1iEA;MApII,gBA0CG;INuoEP;IM7iEA;MApII,sBA0CG;IN0oEP;IMhjEA;MApII,oBA0CG;IN6oEP;IMnjEA;MApII,kBA0CG;INgpEP;IMtjEA;MApII,oBA0CG;INmpEP;IMzjEA;MApII,mBA0CG;INspEP;IM5jEA;MApII,kBA0CG;INypEP;IM/jEA;MApII,gBA0CG;IN4pEP;IMlkEA;MApII,mBA0CG;IN+pEP;IMrkEA;MApII,oBA0CG;INkqEP;IMxkEA;MApII,SA0CG;INqqEP;IM3kEA;MApII,QA0CG;INwqEP;IM9kEA;MApII,QA0CG;IN2qEP;IMjlEA;MApII,QA0CG;IN8qEP;IMplEA;MApII,QA0CG;INirEP;IMvlEA;MApII,QA0CG;INorEP;IM1lEA;MApII,QA0CG;INurEP;IM7lEA;MApII,QA0CG;IN0rEP;IMhmEA;MApII,eA0CG;IN6rEP;IMnmEA;MApII,gBA0CG;INgsEP;IMtmEA;MApII,SA0CG;INmsEP;IMzmEA;MApII,eA0CG;INssEP;IM5mEA;MApII,cA0CG;INysEP;IM/mEA;MApII,YA0CG;IN4sEP;IMlnEA;MApII,cA0CG;IN+sEP;IMrnEA;MApII,YA0CG;INktEP;IMxnEA;MApII,YA0CG;INqtEP;IM3nEA;MApII,sBA0CG;INwtEP;IM9nEA;MApII,uBA0CG;IN2tEP;IMjoEA;MApII,gBA0CG;IN8tEP;IMpoEA;MApII,sBA0CG;INiuEP;IMvoEA;MApII,qBA0CG;INouEP;IM1oEA;MApII,mBA0CG;INuuEP;IM7oEA;MApII,qBA0CG;IN0uEP;IMhpEA;MApII,mBA0CG;IN6uEP;IMnpEA;MApII,mBA0CG;INgvEP;IMtpEA;MApII,qBA0CG;INmvEP;IMzpEA;MApII,sBA0CG;INsvEP;IM5pEA;MApII,eA0CG;INyvEP;IM/pEA;MApII,qBA0CG;IN4vEP;IMlqEA;MApII,oBA0CG;IN+vEP;IMrqEA;MApII,kBA0CG;INkwEP;IMxqEA;MApII,oBA0CG;INqwEP;IM3qEA;MApII,kBA0CG;INwwEP;IM9qEA;MApII,kBA0CG;IN2wEP;IMjrEA;MApII,2BA0CG;IN8wEP;IMprEA;MApII,4BA0CG;INixEP;IMvrEA;MApII,qBA0CG;INoxEP;IM1rEA;MApII,2BA0CG;INuxEP;IM7rEA;MApII,0BA0CG;IN0xEP;IMhsEA;MApII,wBA0CG;IN6xEP;IMnsEA;MApII,0BA0CG;INgyEP;IMtsEA;MApII,wBA0CG;INmyEP;IMzsEA;MApII,wBA0CG;INsyEP;IM5sEA;MApII,0BA0CG;INyyEP;IM/sEA;MApII,2BA0CG;IN4yEP;IMltEA;MApII,oBA0CG;IN+yEP;IMrtEA;MApII,0BA0CG;INkzEP;IMxtEA;MApII,yBA0CG;INqzEP;IM3tEA;MApII,uBA0CG;INwzEP;IM9tEA;MApII,yBA0CG;IN2zEP;IMjuEA;MApII,uBA0CG;IN8zEP;IMpuEA;MApII,uBA0CG;INi0EP;IMvuEA;MApII,yBA0CG;INo0EP;IM1uEA;MApII,0BA0CG;INu0EP;IM7uEA;MApII,mBA0CG;IN00EP;IMhvEA;MApII,yBA0CG;IN60EP;IMnvEA;MApII,wBA0CG;INg1EP;IMtvEA;MApII,sBA0CG;INm1EP;IMzvEA;MApII,wBA0CG;INs1EP;IM5vEA;MApII,sBA0CG;INy1EP;IM/vEA;MApII,sBA0CG;IN41EP;IMlwEA;MApII,4BA0CG;IN+1EP;IMrwEA;MApII,6BA0CG;INk2EP;IMxwEA;MApII,sBA0CG;INq2EP;IM3wEA;MApII,4BA0CG;INw2EP;IM9wEA;MApII,2BA0CG;IN22EP;IMjxEA;MApII,yBA0CG;IN82EP;IMpxEA;MApII,2BA0CG;INi3EP;IMvxEA;MApII,yBA0CG;INo3EP;IM1xEA;MApII,yBA0CG;INu3EP;IM7xEA;MApII,gBA0CG;IN03EP;IMhyEA;MApII,iBA0CG;IN63EP;IMnyEA;MApII,UA0CG;INg4EP;IMtyEA;MApII,gBA0CG;INm4EP;IMzyEA;MApII,eA0CG;INs4EP;IM5yEA;MApII,aA0CG;INy4EP;IM/yEA;MApII,eA0CG;IN44EP;IMlzEA;MApII,aA0CG;IN+4EP;IMrzEA;MApII,uBA0CG;INk5EP;IMxzEA;MApII,wBA0CG;INq5EP;IM3zEA;MApII,iBA0CG;INw5EP;IM9zEA;MApII,uBA0CG;IN25EP;IMj0EA;MApII,sBA0CG;IN85EP;IMp0EA;MApII,oBA0CG;INi6EP;IMv0EA;MApII,sBA0CG;INo6EP;IM10EA;MApII,oBA0CG;INu6EP;IM70EA;MApII,sBA0CG;IN06EP;IMh1EA;MApII,uBA0CG;IN66EP;IMn1EA;MApII,gBA0CG;INg7EP;IMt1EA;MApII,sBA0CG;INm7EP;IMz1EA;MApII,qBA0CG;INs7EP;IM51EA;MApII,mBA0CG;INy7EP;IM/1EA;MApII,qBA0CG;IN47EP;IMl2EA;MApII,mBA0CG;IN+7EP;IMr2EA;MApII,4BA0CG;INk8EP;IMx2EA;MApII,6BA0CG;INq8EP;IM32EA;MApII,sBA0CG;INw8EP;IM92EA;MApII,4BA0CG;IN28EP;IMj3EA;MApII,2BA0CG;IN88EP;IMp3EA;MApII,yBA0CG;INi9EP;IMv3EA;MApII,2BA0CG;INo9EP;IM13EA;MApII,yBA0CG;INu9EP;IM73EA;MApII,2BA0CG;IN09EP;IMh4EA;MApII,4BA0CG;IN69EP;IMn4EA;MApII,qBA0CG;INg+EP;IMt4EA;MApII,2BA0CG;INm+EP;IMz4EA;MApII,0BA0CG;INs+EP;IM54EA;MApII,wBA0CG;INy+EP;IM/4EA;MApII,0BA0CG;IN4+EP;IMl5EA;MApII,wBA0CG;IN++EP;IMr5EA;MApII,0BA0CG;INk/EP;IMx5EA;MApII,2BA0CG;INq/EP;IM35EA;MApII,oBA0CG;INw/EP;IM95EA;MApII,0BA0CG;IN2/EP;IMj6EA;MApII,yBA0CG;IN8/EP;IMp6EA;MApII,uBA0CG;INigFP;IMv6EA;MApII,yBA0CG;INogFP;IM16EA;MApII,uBA0CG;INugFP;IM76EA;MApII,6BA0CG;IN0gFP;IMh7EA;MApII,8BA0CG;IN6gFP;IMn7EA;MApII,uBA0CG;INghFP;IMt7EA;MApII,6BA0CG;INmhFP;IMz7EA;MApII,4BA0CG;INshFP;IM57EA;MApII,0BA0CG;INyhFP;IM/7EA;MApII,4BA0CG;IN4hFP;IMl8EA;MApII,0BA0CG;IN+hFP;EACF;EC7iFE;IKuGA;MApII,eA+CO;IN+hFX;IM18EA;MApII,qBA+CO;INkiFX;IM78EA;MApII,cA+CO;INqiFX;IMh9EA;MApII,aA+CO;INwiFX;IMn9EA;MApII,oBA+CO;IN2iFX;IMt9EA;MApII,cA+CO;IN8iFX;IMz9EA;MApII,kBA+CO;INijFX;IM59EA;MApII,mBA+CO;INojFX;IM/9EA;MApII,aA+CO;INujFX;IMl+EA;MApII,oBA+CO;IN0jFX;IMr+EA;MApII,iBA+CO;IN6jFX;IMx+EA;MApII,kBA+CO;INgkFX;IM3+EA;MApII,aA+CO;INmkFX;IM9+EA;MApII,cA0CG;IN2kFP;IMj/EA;MApII,mBA+CO;INykFX;IMp/EA;MApII,sBA+CO;IN4kFX;IMv/EA;MApII,2BA+CO;IN+kFX;IM1/EA;MApII,8BA+CO;INklFX;IM7/EA;MApII,YA0CG;IN0lFP;IMhgFA;MApII,YA0CG;IN6lFP;IMngFA;MApII,cA0CG;INgmFP;IMtgFA;MApII,cA0CG;INmmFP;IMzgFA;MApII,eA+CO;INimFX;IM5gFA;MApII,iBA+CO;INomFX;IM/gFA;MApII,uBA+CO;INumFX;IMlhFA;MApII,2BA0CG;IN+mFP;IMrhFA;MApII,yBA0CG;INknFP;IMxhFA;MApII,uBA0CG;INqnFP;IM3hFA;MApII,8BA0CG;INwnFP;IM9hFA;MApII,6BA0CG;IN2nFP;IMjiFA;MApII,6BA0CG;IN8nFP;IMpiFA;MApII,oBA0CG;INioFP;IMviFA;MApII,kBA0CG;INooFP;IM1iFA;MApII,qBA0CG;INuoFP;IM7iFA;MApII,sBA0CG;IN0oFP;IMhjFA;MApII,uBA0CG;IN6oFP;IMnjFA;MApII,qBA0CG;INgpFP;IMtjFA;MApII,mBA0CG;INmpFP;IMzjFA;MApII,qBA0CG;INspFP;IM5jFA;MApII,oBA0CG;INypFP;IM/jFA;MApII,yBA0CG;IN4pFP;IMlkFA;MApII,uBA0CG;IN+pFP;IMrkFA;MApII,qBA0CG;INkqFP;IMxkFA;MApII,4BA0CG;INqqFP;IM3kFA;MApII,2BA0CG;INwqFP;IM9kFA;MApII,sBA0CG;IN2qFP;IMjlFA;MApII,gBA0CG;IN8qFP;IMplFA;MApII,sBA0CG;INirFP;IMvlFA;MApII,oBA0CG;INorFP;IM1lFA;MApII,kBA0CG;INurFP;IM7lFA;MApII,oBA0CG;IN0rFP;IMhmFA;MApII,mBA0CG;IN6rFP;IMnmFA;MApII,kBA0CG;INgsFP;IMtmFA;MApII,gBA0CG;INmsFP;IMzmFA;MApII,mBA0CG;INssFP;IM5mFA;MApII,oBA0CG;INysFP;IM/mFA;MApII,SA0CG;IN4sFP;IMlnFA;MApII,QA0CG;IN+sFP;IMrnFA;MApII,QA0CG;INktFP;IMxnFA;MApII,QA0CG;INqtFP;IM3nFA;MApII,QA0CG;INwtFP;IM9nFA;MApII,QA0CG;IN2tFP;IMjoFA;MApII,QA0CG;IN8tFP;IMpoFA;MApII,QA0CG;INiuFP;IMvoFA;MApII,eA0CG;INouFP;IM1oFA;MApII,gBA0CG;INuuFP;IM7oFA;MApII,SA0CG;IN0uFP;IMhpFA;MApII,eA0CG;IN6uFP;IMnpFA;MApII,cA0CG;INgvFP;IMtpFA;MApII,YA0CG;INmvFP;IMzpFA;MApII,cA0CG;INsvFP;IM5pFA;MApII,YA0CG;INyvFP;IM/pFA;MApII,YA0CG;IN4vFP;IMlqFA;MApII,sBA0CG;IN+vFP;IMrqFA;MApII,uBA0CG;INkwFP;IMxqFA;MApII,gBA0CG;INqwFP;IM3qFA;MApII,sBA0CG;INwwFP;IM9qFA;MApII,qBA0CG;IN2wFP;IMjrFA;MApII,mBA0CG;IN8wFP;IMprFA;MApII,qBA0CG;INixFP;IMvrFA;MApII,mBA0CG;INoxFP;IM1rFA;MApII,mBA0CG;INuxFP;IM7rFA;MApII,qBA0CG;IN0xFP;IMhsFA;MApII,sBA0CG;IN6xFP;IMnsFA;MApII,eA0CG;INgyFP;IMtsFA;MApII,qBA0CG;INmyFP;IMzsFA;MApII,oBA0CG;INsyFP;IM5sFA;MApII,kBA0CG;INyyFP;IM/sFA;MApII,oBA0CG;IN4yFP;IMltFA;MApII,kBA0CG;IN+yFP;IMrtFA;MApII,kBA0CG;INkzFP;IMxtFA;MApII,2BA0CG;INqzFP;IM3tFA;MApII,4BA0CG;INwzFP;IM9tFA;MApII,qBA0CG;IN2zFP;IMjuFA;MApII,2BA0CG;IN8zFP;IMpuFA;MApII,0BA0CG;INi0FP;IMvuFA;MApII,wBA0CG;INo0FP;IM1uFA;MApII,0BA0CG;INu0FP;IM7uFA;MApII,wBA0CG;IN00FP;IMhvFA;MApII,wBA0CG;IN60FP;IMnvFA;MApII,0BA0CG;INg1FP;IMtvFA;MApII,2BA0CG;INm1FP;IMzvFA;MApII,oBA0CG;INs1FP;IM5vFA;MApII,0BA0CG;INy1FP;IM/vFA;MApII,yBA0CG;IN41FP;IMlwFA;MApII,uBA0CG;IN+1FP;IMrwFA;MApII,yBA0CG;INk2FP;IMxwFA;MApII,uBA0CG;INq2FP;IM3wFA;MApII,uBA0CG;INw2FP;IM9wFA;MApII,yBA0CG;IN22FP;IMjxFA;MApII,0BA0CG;IN82FP;IMpxFA;MApII,mBA0CG;INi3FP;IMvxFA;MApII,yBA0CG;INo3FP;IM1xFA;MApII,wBA0CG;INu3FP;IM7xFA;MApII,sBA0CG;IN03FP;IMhyFA;MApII,wBA0CG;IN63FP;IMnyFA;MApII,sBA0CG;INg4FP;IMtyFA;MApII,sBA0CG;INm4FP;IMzyFA;MApII,4BA0CG;INs4FP;IM5yFA;MApII,6BA0CG;INy4FP;IM/yFA;MApII,sBA0CG;IN44FP;IMlzFA;MApII,4BA0CG;IN+4FP;IMrzFA;MApII,2BA0CG;INk5FP;IMxzFA;MApII,yBA0CG;INq5FP;IM3zFA;MApII,2BA0CG;INw5FP;IM9zFA;MApII,yBA0CG;IN25FP;IMj0FA;MApII,yBA0CG;IN85FP;IMp0FA;MApII,gBA0CG;INi6FP;IMv0FA;MApII,iBA0CG;INo6FP;IM10FA;MApII,UA0CG;INu6FP;IM70FA;MApII,gBA0CG;IN06FP;IMh1FA;MApII,eA0CG;IN66FP;IMn1FA;MApII,aA0CG;INg7FP;IMt1FA;MApII,eA0CG;INm7FP;IMz1FA;MApII,aA0CG;INs7FP;IM51FA;MApII,uBA0CG;INy7FP;IM/1FA;MApII,wBA0CG;IN47FP;IMl2FA;MApII,iBA0CG;IN+7FP;IMr2FA;MApII,uBA0CG;INk8FP;IMx2FA;MApII,sBA0CG;INq8FP;IM32FA;MApII,oBA0CG;INw8FP;IM92FA;MApII,sBA0CG;IN28FP;IMj3FA;MApII,oBA0CG;IN88FP;IMp3FA;MApII,sBA0CG;INi9FP;IMv3FA;MApII,uBA0CG;INo9FP;IM13FA;MApII,gBA0CG;INu9FP;IM73FA;MApII,sBA0CG;IN09FP;IMh4FA;MApII,qBA0CG;IN69FP;IMn4FA;MApII,mBA0CG;INg+FP;IMt4FA;MApII,qBA0CG;INm+FP;IMz4FA;MApII,mBA0CG;INs+FP;IM54FA;MApII,4BA0CG;INy+FP;IM/4FA;MApII,6BA0CG;IN4+FP;IMl5FA;MApII,sBA0CG;IN++FP;IMr5FA;MApII,4BA0CG;INk/FP;IMx5FA;MApII,2BA0CG;INq/FP;IM35FA;MApII,yBA0CG;INw/FP;IM95FA;MApII,2BA0CG;IN2/FP;IMj6FA;MApII,yBA0CG;IN8/FP;IMp6FA;MApII,2BA0CG;INigGP;IMv6FA;MApII,4BA0CG;INogGP;IM16FA;MApII,qBA0CG;INugGP;IM76FA;MApII,2BA0CG;IN0gGP;IMh7FA;MApII,0BA0CG;IN6gGP;IMn7FA;MApII,wBA0CG;INghGP;IMt7FA;MApII,0BA0CG;INmhGP;IMz7FA;MApII,wBA0CG;INshGP;IM57FA;MApII,0BA0CG;INyhGP;IM/7FA;MApII,2BA0CG;IN4hGP;IMl8FA;MApII,oBA0CG;IN+hGP;IMr8FA;MApII,0BA0CG;INkiGP;IMx8FA;MApII,yBA0CG;INqiGP;IM38FA;MApII,uBA0CG;INwiGP;IM98FA;MApII,yBA0CG;IN2iGP;IMj9FA;MApII,uBA0CG;IN8iGP;IMp9FA;MApII,6BA0CG;INijGP;IMv9FA;MApII,8BA0CG;INojGP;IM19FA;MApII,uBA0CG;INujGP;IM79FA;MApII,6BA0CG;IN0jGP;IMh+FA;MApII,4BA0CG;IN6jGP;IMn+FA;MApII,0BA0CG;INgkGP;IMt+FA;MApII,4BA0CG;INmkGP;IMz+FA;MApII,0BA0CG;INskGP;EACF;ECplGE;IKuGA;MApII,eA+CO;INskGX;IMj/FA;MApII,qBA+CO;INykGX;IMp/FA;MApII,cA+CO;IN4kGX;IMv/FA;MApII,aA+CO;IN+kGX;IM1/FA;MApII,oBA+CO;INklGX;IM7/FA;MApII,cA+CO;INqlGX;IMhgGA;MApII,kBA+CO;INwlGX;IMngGA;MApII,mBA+CO;IN2lGX;IMtgGA;MApII,aA+CO;IN8lGX;IMzgGA;MApII,oBA+CO;INimGX;IM5gGA;MApII,iBA+CO;INomGX;IM/gGA;MApII,kBA+CO;INumGX;IMlhGA;MApII,aA+CO;IN0mGX;IMrhGA;MApII,cA0CG;INknGP;IMxhGA;MApII,mBA+CO;INgnGX;IM3hGA;MApII,sBA+CO;INmnGX;IM9hGA;MApII,2BA+CO;INsnGX;IMjiGA;MApII,8BA+CO;INynGX;IMpiGA;MApII,YA0CG;INioGP;IMviGA;MApII,YA0CG;INooGP;IM1iGA;MApII,cA0CG;INuoGP;IM7iGA;MApII,cA0CG;IN0oGP;IMhjGA;MApII,eA+CO;INwoGX;IMnjGA;MApII,iBA+CO;IN2oGX;IMtjGA;MApII,uBA+CO;IN8oGX;IMzjGA;MApII,2BA0CG;INspGP;IM5jGA;MApII,yBA0CG;INypGP;IM/jGA;MApII,uBA0CG;IN4pGP;IMlkGA;MApII,8BA0CG;IN+pGP;IMrkGA;MApII,6BA0CG;INkqGP;IMxkGA;MApII,6BA0CG;INqqGP;IM3kGA;MApII,oBA0CG;INwqGP;IM9kGA;MApII,kBA0CG;IN2qGP;IMjlGA;MApII,qBA0CG;IN8qGP;IMplGA;MApII,sBA0CG;INirGP;IMvlGA;MApII,uBA0CG;INorGP;IM1lGA;MApII,qBA0CG;INurGP;IM7lGA;MApII,mBA0CG;IN0rGP;IMhmGA;MApII,qBA0CG;IN6rGP;IMnmGA;MApII,oBA0CG;INgsGP;IMtmGA;MApII,yBA0CG;INmsGP;IMzmGA;MApII,uBA0CG;INssGP;IM5mGA;MApII,qBA0CG;INysGP;IM/mGA;MApII,4BA0CG;IN4sGP;IMlnGA;MApII,2BA0CG;IN+sGP;IMrnGA;MApII,sBA0CG;INktGP;IMxnGA;MApII,gBA0CG;INqtGP;IM3nGA;MApII,sBA0CG;INwtGP;IM9nGA;MApII,oBA0CG;IN2tGP;IMjoGA;MApII,kBA0CG;IN8tGP;IMpoGA;MApII,oBA0CG;INiuGP;IMvoGA;MApII,mBA0CG;INouGP;IM1oGA;MApII,kBA0CG;INuuGP;IM7oGA;MApII,gBA0CG;IN0uGP;IMhpGA;MApII,mBA0CG;IN6uGP;IMnpGA;MApII,oBA0CG;INgvGP;IMtpGA;MApII,SA0CG;INmvGP;IMzpGA;MApII,QA0CG;INsvGP;IM5pGA;MApII,QA0CG;INyvGP;IM/pGA;MApII,QA0CG;IN4vGP;IMlqGA;MApII,QA0CG;IN+vGP;IMrqGA;MApII,QA0CG;INkwGP;IMxqGA;MApII,QA0CG;INqwGP;IM3qGA;MApII,QA0CG;INwwGP;IM9qGA;MApII,eA0CG;IN2wGP;IMjrGA;MApII,gBA0CG;IN8wGP;IMprGA;MApII,SA0CG;INixGP;IMvrGA;MApII,eA0CG;INoxGP;IM1rGA;MApII,cA0CG;INuxGP;IM7rGA;MApII,YA0CG;IN0xGP;IMhsGA;MApII,cA0CG;IN6xGP;IMnsGA;MApII,YA0CG;INgyGP;IMtsGA;MApII,YA0CG;INmyGP;IMzsGA;MApII,sBA0CG;INsyGP;IM5sGA;MApII,uBA0CG;INyyGP;IM/sGA;MApII,gBA0CG;IN4yGP;IMltGA;MApII,sBA0CG;IN+yGP;IMrtGA;MApII,qBA0CG;INkzGP;IMxtGA;MApII,mBA0CG;INqzGP;IM3tGA;MApII,qBA0CG;INwzGP;IM9tGA;MApII,mBA0CG;IN2zGP;IMjuGA;MApII,mBA0CG;IN8zGP;IMpuGA;MApII,qBA0CG;INi0GP;IMvuGA;MApII,sBA0CG;INo0GP;IM1uGA;MApII,eA0CG;INu0GP;IM7uGA;MApII,qBA0CG;IN00GP;IMhvGA;MApII,oBA0CG;IN60GP;IMnvGA;MApII,kBA0CG;INg1GP;IMtvGA;MApII,oBA0CG;INm1GP;IMzvGA;MApII,kBA0CG;INs1GP;IM5vGA;MApII,kBA0CG;INy1GP;IM/vGA;MApII,2BA0CG;IN41GP;IMlwGA;MApII,4BA0CG;IN+1GP;IMrwGA;MApII,qBA0CG;INk2GP;IMxwGA;MApII,2BA0CG;INq2GP;IM3wGA;MApII,0BA0CG;INw2GP;IM9wGA;MApII,wBA0CG;IN22GP;IMjxGA;MApII,0BA0CG;IN82GP;IMpxGA;MApII,wBA0CG;INi3GP;IMvxGA;MApII,wBA0CG;INo3GP;IM1xGA;MApII,0BA0CG;INu3GP;IM7xGA;MApII,2BA0CG;IN03GP;IMhyGA;MApII,oBA0CG;IN63GP;IMnyGA;MApII,0BA0CG;INg4GP;IMtyGA;MApII,yBA0CG;INm4GP;IMzyGA;MApII,uBA0CG;INs4GP;IM5yGA;MApII,yBA0CG;INy4GP;IM/yGA;MApII,uBA0CG;IN44GP;IMlzGA;MApII,uBA0CG;IN+4GP;IMrzGA;MApII,yBA0CG;INk5GP;IMxzGA;MApII,0BA0CG;INq5GP;IM3zGA;MApII,mBA0CG;INw5GP;IM9zGA;MApII,yBA0CG;IN25GP;IMj0GA;MApII,wBA0CG;IN85GP;IMp0GA;MApII,sBA0CG;INi6GP;IMv0GA;MApII,wBA0CG;INo6GP;IM10GA;MApII,sBA0CG;INu6GP;IM70GA;MApII,sBA0CG;IN06GP;IMh1GA;MApII,4BA0CG;IN66GP;IMn1GA;MApII,6BA0CG;INg7GP;IMt1GA;MApII,sBA0CG;INm7GP;IMz1GA;MApII,4BA0CG;INs7GP;IM51GA;MApII,2BA0CG;INy7GP;IM/1GA;MApII,yBA0CG;IN47GP;IMl2GA;MApII,2BA0CG;IN+7GP;IMr2GA;MApII,yBA0CG;INk8GP;IMx2GA;MApII,yBA0CG;INq8GP;IM32GA;MApII,gBA0CG;INw8GP;IM92GA;MApII,iBA0CG;IN28GP;IMj3GA;MApII,UA0CG;IN88GP;IMp3GA;MApII,gBA0CG;INi9GP;IMv3GA;MApII,eA0CG;INo9GP;IM13GA;MApII,aA0CG;INu9GP;IM73GA;MApII,eA0CG;IN09GP;IMh4GA;MApII,aA0CG;IN69GP;IMn4GA;MApII,uBA0CG;INg+GP;IMt4GA;MApII,wBA0CG;INm+GP;IMz4GA;MApII,iBA0CG;INs+GP;IM54GA;MApII,uBA0CG;INy+GP;IM/4GA;MApII,sBA0CG;IN4+GP;IMl5GA;MApII,oBA0CG;IN++GP;IMr5GA;MApII,sBA0CG;INk/GP;IMx5GA;MApII,oBA0CG;INq/GP;IM35GA;MApII,sBA0CG;INw/GP;IM95GA;MApII,uBA0CG;IN2/GP;IMj6GA;MApII,gBA0CG;IN8/GP;IMp6GA;MApII,sBA0CG;INigHP;IMv6GA;MApII,qBA0CG;INogHP;IM16GA;MApII,mBA0CG;INugHP;IM76GA;MApII,qBA0CG;IN0gHP;IMh7GA;MApII,mBA0CG;IN6gHP;IMn7GA;MApII,4BA0CG;INghHP;IMt7GA;MApII,6BA0CG;INmhHP;IMz7GA;MApII,sBA0CG;INshHP;IM57GA;MApII,4BA0CG;INyhHP;IM/7GA;MApII,2BA0CG;IN4hHP;IMl8GA;MApII,yBA0CG;IN+hHP;IMr8GA;MApII,2BA0CG;INkiHP;IMx8GA;MApII,yBA0CG;INqiHP;IM38GA;MApII,2BA0CG;INwiHP;IM98GA;MApII,4BA0CG;IN2iHP;IMj9GA;MApII,qBA0CG;IN8iHP;IMp9GA;MApII,2BA0CG;INijHP;IMv9GA;MApII,0BA0CG;INojHP;IM19GA;MApII,wBA0CG;INujHP;IM79GA;MApII,0BA0CG;IN0jHP;IMh+GA;MApII,wBA0CG;IN6jHP;IMn+GA;MApII,0BA0CG;INgkHP;IMt+GA;MApII,2BA0CG;INmkHP;IMz+GA;MApII,oBA0CG;INskHP;IM5+GA;MApII,0BA0CG;INykHP;IM/+GA;MApII,yBA0CG;IN4kHP;IMl/GA;MApII,uBA0CG;IN+kHP;IMr/GA;MApII,yBA0CG;INklHP;IMx/GA;MApII,uBA0CG;INqlHP;IM3/GA;MApII,6BA0CG;INwlHP;IM9/GA;MApII,8BA0CG;IN2lHP;IMjgHA;MApII,uBA0CG;IN8lHP;IMpgHA;MApII,6BA0CG;INimHP;IMvgHA;MApII,4BA0CG;INomHP;IM1gHA;MApII,0BA0CG;INumHP;IM7gHA;MApII,4BA0CG;IN0mHP;IMhhHA;MApII,0BA0CG;IN6mHP;EACF;EC3nHE;IKuGA;MApII,eA+CO;IN6mHX;IMxhHA;MApII,qBA+CO;INgnHX;IM3hHA;MApII,cA+CO;INmnHX;IM9hHA;MApII,aA+CO;INsnHX;IMjiHA;MApII,oBA+CO;INynHX;IMpiHA;MApII,cA+CO;IN4nHX;IMviHA;MApII,kBA+CO;IN+nHX;IM1iHA;MApII,mBA+CO;INkoHX;IM7iHA;MApII,aA+CO;INqoHX;IMhjHA;MApII,oBA+CO;INwoHX;IMnjHA;MApII,iBA+CO;IN2oHX;IMtjHA;MApII,kBA+CO;IN8oHX;IMzjHA;MApII,aA+CO;INipHX;IM5jHA;MApII,cA0CG;INypHP;IM/jHA;MApII,mBA+CO;INupHX;IMlkHA;MApII,sBA+CO;IN0pHX;IMrkHA;MApII,2BA+CO;IN6pHX;IMxkHA;MApII,8BA+CO;INgqHX;IM3kHA;MApII,YA0CG;INwqHP;IM9kHA;MApII,YA0CG;IN2qHP;IMjlHA;MApII,cA0CG;IN8qHP;IMplHA;MApII,cA0CG;INirHP;IMvlHA;MApII,eA+CO;IN+qHX;IM1lHA;MApII,iBA+CO;INkrHX;IM7lHA;MApII,uBA+CO;INqrHX;IMhmHA;MApII,2BA0CG;IN6rHP;IMnmHA;MApII,yBA0CG;INgsHP;IMtmHA;MApII,uBA0CG;INmsHP;IMzmHA;MApII,8BA0CG;INssHP;IM5mHA;MApII,6BA0CG;INysHP;IM/mHA;MApII,6BA0CG;IN4sHP;IMlnHA;MApII,oBA0CG;IN+sHP;IMrnHA;MApII,kBA0CG;INktHP;IMxnHA;MApII,qBA0CG;INqtHP;IM3nHA;MApII,sBA0CG;INwtHP;IM9nHA;MApII,uBA0CG;IN2tHP;IMjoHA;MApII,qBA0CG;IN8tHP;IMpoHA;MApII,mBA0CG;INiuHP;IMvoHA;MApII,qBA0CG;INouHP;IM1oHA;MApII,oBA0CG;INuuHP;IM7oHA;MApII,yBA0CG;IN0uHP;IMhpHA;MApII,uBA0CG;IN6uHP;IMnpHA;MApII,qBA0CG;INgvHP;IMtpHA;MApII,4BA0CG;INmvHP;IMzpHA;MApII,2BA0CG;INsvHP;IM5pHA;MApII,sBA0CG;INyvHP;IM/pHA;MApII,gBA0CG;IN4vHP;IMlqHA;MApII,sBA0CG;IN+vHP;IMrqHA;MApII,oBA0CG;INkwHP;IMxqHA;MApII,kBA0CG;INqwHP;IM3qHA;MApII,oBA0CG;INwwHP;IM9qHA;MApII,mBA0CG;IN2wHP;IMjrHA;MApII,kBA0CG;IN8wHP;IMprHA;MApII,gBA0CG;INixHP;IMvrHA;MApII,mBA0CG;INoxHP;IM1rHA;MApII,oBA0CG;INuxHP;IM7rHA;MApII,SA0CG;IN0xHP;IMhsHA;MApII,QA0CG;IN6xHP;IMnsHA;MApII,QA0CG;INgyHP;IMtsHA;MApII,QA0CG;INmyHP;IMzsHA;MApII,QA0CG;INsyHP;IM5sHA;MApII,QA0CG;INyyHP;IM/sHA;MApII,QA0CG;IN4yHP;IMltHA;MApII,QA0CG;IN+yHP;IMrtHA;MApII,eA0CG;INkzHP;IMxtHA;MApII,gBA0CG;INqzHP;IM3tHA;MApII,SA0CG;INwzHP;IM9tHA;MApII,eA0CG;IN2zHP;IMjuHA;MApII,cA0CG;IN8zHP;IMpuHA;MApII,YA0CG;INi0HP;IMvuHA;MApII,cA0CG;INo0HP;IM1uHA;MApII,YA0CG;INu0HP;IM7uHA;MApII,YA0CG;IN00HP;IMhvHA;MApII,sBA0CG;IN60HP;IMnvHA;MApII,uBA0CG;INg1HP;IMtvHA;MApII,gBA0CG;INm1HP;IMzvHA;MApII,sBA0CG;INs1HP;IM5vHA;MApII,qBA0CG;INy1HP;IM/vHA;MApII,mBA0CG;IN41HP;IMlwHA;MApII,qBA0CG;IN+1HP;IMrwHA;MApII,mBA0CG;INk2HP;IMxwHA;MApII,mBA0CG;INq2HP;IM3wHA;MApII,qBA0CG;INw2HP;IM9wHA;MApII,sBA0CG;IN22HP;IMjxHA;MApII,eA0CG;IN82HP;IMpxHA;MApII,qBA0CG;INi3HP;IMvxHA;MApII,oBA0CG;INo3HP;IM1xHA;MApII,kBA0CG;INu3HP;IM7xHA;MApII,oBA0CG;IN03HP;IMhyHA;MApII,kBA0CG;IN63HP;IMnyHA;MApII,kBA0CG;INg4HP;IMtyHA;MApII,2BA0CG;INm4HP;IMzyHA;MApII,4BA0CG;INs4HP;IM5yHA;MApII,qBA0CG;INy4HP;IM/yHA;MApII,2BA0CG;IN44HP;IMlzHA;MApII,0BA0CG;IN+4HP;IMrzHA;MApII,wBA0CG;INk5HP;IMxzHA;MApII,0BA0CG;INq5HP;IM3zHA;MApII,wBA0CG;INw5HP;IM9zHA;MApII,wBA0CG;IN25HP;IMj0HA;MApII,0BA0CG;IN85HP;IMp0HA;MApII,2BA0CG;INi6HP;IMv0HA;MApII,oBA0CG;INo6HP;IM10HA;MApII,0BA0CG;INu6HP;IM70HA;MApII,yBA0CG;IN06HP;IMh1HA;MApII,uBA0CG;IN66HP;IMn1HA;MApII,yBA0CG;INg7HP;IMt1HA;MApII,uBA0CG;INm7HP;IMz1HA;MApII,uBA0CG;INs7HP;IM51HA;MApII,yBA0CG;INy7HP;IM/1HA;MApII,0BA0CG;IN47HP;IMl2HA;MApII,mBA0CG;IN+7HP;IMr2HA;MApII,yBA0CG;INk8HP;IMx2HA;MApII,wBA0CG;INq8HP;IM32HA;MApII,sBA0CG;INw8HP;IM92HA;MApII,wBA0CG;IN28HP;IMj3HA;MApII,sBA0CG;IN88HP;IMp3HA;MApII,sBA0CG;INi9HP;IMv3HA;MApII,4BA0CG;INo9HP;IM13HA;MApII,6BA0CG;INu9HP;IM73HA;MApII,sBA0CG;IN09HP;IMh4HA;MApII,4BA0CG;IN69HP;IMn4HA;MApII,2BA0CG;INg+HP;IMt4HA;MApII,yBA0CG;INm+HP;IMz4HA;MApII,2BA0CG;INs+HP;IM54HA;MApII,yBA0CG;INy+HP;IM/4HA;MApII,yBA0CG;IN4+HP;IMl5HA;MApII,gBA0CG;IN++HP;IMr5HA;MApII,iBA0CG;INk/HP;IMx5HA;MApII,UA0CG;INq/HP;IM35HA;MApII,gBA0CG;INw/HP;IM95HA;MApII,eA0CG;IN2/HP;IMj6HA;MApII,aA0CG;IN8/HP;IMp6HA;MApII,eA0CG;INigIP;IMv6HA;MApII,aA0CG;INogIP;IM16HA;MApII,uBA0CG;INugIP;IM76HA;MApII,wBA0CG;IN0gIP;IMh7HA;MApII,iBA0CG;IN6gIP;IMn7HA;MApII,uBA0CG;INghIP;IMt7HA;MApII,sBA0CG;INmhIP;IMz7HA;MApII,oBA0CG;INshIP;IM57HA;MApII,sBA0CG;INyhIP;IM/7HA;MApII,oBA0CG;IN4hIP;IMl8HA;MApII,sBA0CG;IN+hIP;IMr8HA;MApII,uBA0CG;INkiIP;IMx8HA;MApII,gBA0CG;INqiIP;IM38HA;MApII,sBA0CG;INwiIP;IM98HA;MApII,qBA0CG;IN2iIP;IMj9HA;MApII,mBA0CG;IN8iIP;IMp9HA;MApII,qBA0CG;INijIP;IMv9HA;MApII,mBA0CG;INojIP;IM19HA;MApII,4BA0CG;INujIP;IM79HA;MApII,6BA0CG;IN0jIP;IMh+HA;MApII,sBA0CG;IN6jIP;IMn+HA;MApII,4BA0CG;INgkIP;IMt+HA;MApII,2BA0CG;INmkIP;IMz+HA;MApII,yBA0CG;INskIP;IM5+HA;MApII,2BA0CG;INykIP;IM/+HA;MApII,yBA0CG;IN4kIP;IMl/HA;MApII,2BA0CG;IN+kIP;IMr/HA;MApII,4BA0CG;INklIP;IMx/HA;MApII,qBA0CG;INqlIP;IM3/HA;MApII,2BA0CG;INwlIP;IM9/HA;MApII,0BA0CG;IN2lIP;IMjgIA;MApII,wBA0CG;IN8lIP;IMpgIA;MApII,0BA0CG;INimIP;IMvgIA;MApII,wBA0CG;INomIP;IM1gIA;MApII,0BA0CG;INumIP;IM7gIA;MApII,2BA0CG;IN0mIP;IMhhIA;MApII,oBA0CG;IN6mIP;IMnhIA;MApII,0BA0CG;INgnIP;IMthIA;MApII,yBA0CG;INmnIP;IMzhIA;MApII,uBA0CG;INsnIP;IM5hIA;MApII,yBA0CG;INynIP;IM/hIA;MApII,uBA0CG;IN4nIP;IMliIA;MApII,6BA0CG;IN+nIP;IMriIA;MApII,8BA0CG;INkoIP;IMxiIA;MApII,uBA0CG;INqoIP;IM3iIA;MApII,6BA0CG;INwoIP;IM9iIA;MApII,4BA0CG;IN2oIP;IMjjIA;MApII,0BA0CG;IN8oIP;IMpjIA;MApII,4BA0CG;INipIP;IMvjIA;MApII,0BA0CG;INopIP;EACF;EClqIE;IKuGA;MApII,eA+CO;INopIX;IM/jIA;MApII,qBA+CO;INupIX;IMlkIA;MApII,cA+CO;IN0pIX;IMrkIA;MApII,aA+CO;IN6pIX;IMxkIA;MApII,oBA+CO;INgqIX;IM3kIA;MApII,cA+CO;INmqIX;IM9kIA;MApII,kBA+CO;INsqIX;IMjlIA;MApII,mBA+CO;INyqIX;IMplIA;MApII,aA+CO;IN4qIX;IMvlIA;MApII,oBA+CO;IN+qIX;IM1lIA;MApII,iBA+CO;INkrIX;IM7lIA;MApII,kBA+CO;INqrIX;IMhmIA;MApII,aA+CO;INwrIX;IMnmIA;MApII,cA0CG;INgsIP;IMtmIA;MApII,mBA+CO;IN8rIX;IMzmIA;MApII,sBA+CO;INisIX;IM5mIA;MApII,2BA+CO;INosIX;IM/mIA;MApII,8BA+CO;INusIX;IMlnIA;MApII,YA0CG;IN+sIP;IMrnIA;MApII,YA0CG;INktIP;IMxnIA;MApII,cA0CG;INqtIP;IM3nIA;MApII,cA0CG;INwtIP;IM9nIA;MApII,eA+CO;INstIX;IMjoIA;MApII,iBA+CO;INytIX;IMpoIA;MApII,uBA+CO;IN4tIX;IMvoIA;MApII,2BA0CG;INouIP;IM1oIA;MApII,yBA0CG;INuuIP;IM7oIA;MApII,uBA0CG;IN0uIP;IMhpIA;MApII,8BA0CG;IN6uIP;IMnpIA;MApII,6BA0CG;INgvIP;IMtpIA;MApII,6BA0CG;INmvIP;IMzpIA;MApII,oBA0CG;INsvIP;IM5pIA;MApII,kBA0CG;INyvIP;IM/pIA;MApII,qBA0CG;IN4vIP;IMlqIA;MApII,sBA0CG;IN+vIP;IMrqIA;MApII,uBA0CG;INkwIP;IMxqIA;MApII,qBA0CG;INqwIP;IM3qIA;MApII,mBA0CG;INwwIP;IM9qIA;MApII,qBA0CG;IN2wIP;IMjrIA;MApII,oBA0CG;IN8wIP;IMprIA;MApII,yBA0CG;INixIP;IMvrIA;MApII,uBA0CG;INoxIP;IM1rIA;MApII,qBA0CG;INuxIP;IM7rIA;MApII,4BA0CG;IN0xIP;IMhsIA;MApII,2BA0CG;IN6xIP;IMnsIA;MApII,sBA0CG;INgyIP;IMtsIA;MApII,gBA0CG;INmyIP;IMzsIA;MApII,sBA0CG;INsyIP;IM5sIA;MApII,oBA0CG;INyyIP;IM/sIA;MApII,kBA0CG;IN4yIP;IMltIA;MApII,oBA0CG;IN+yIP;IMrtIA;MApII,mBA0CG;INkzIP;IMxtIA;MApII,kBA0CG;INqzIP;IM3tIA;MApII,gBA0CG;INwzIP;IM9tIA;MApII,mBA0CG;IN2zIP;IMjuIA;MApII,oBA0CG;IN8zIP;IMpuIA;MApII,SA0CG;INi0IP;IMvuIA;MApII,QA0CG;INo0IP;IM1uIA;MApII,QA0CG;INu0IP;IM7uIA;MApII,QA0CG;IN00IP;IMhvIA;MApII,QA0CG;IN60IP;IMnvIA;MApII,QA0CG;INg1IP;IMtvIA;MApII,QA0CG;INm1IP;IMzvIA;MApII,QA0CG;INs1IP;IM5vIA;MApII,eA0CG;INy1IP;IM/vIA;MApII,gBA0CG;IN41IP;IMlwIA;MApII,SA0CG;IN+1IP;IMrwIA;MApII,eA0CG;INk2IP;IMxwIA;MApII,cA0CG;INq2IP;IM3wIA;MApII,YA0CG;INw2IP;IM9wIA;MApII,cA0CG;IN22IP;IMjxIA;MApII,YA0CG;IN82IP;IMpxIA;MApII,YA0CG;INi3IP;IMvxIA;MApII,sBA0CG;INo3IP;IM1xIA;MApII,uBA0CG;INu3IP;IM7xIA;MApII,gBA0CG;IN03IP;IMhyIA;MApII,sBA0CG;IN63IP;IMnyIA;MApII,qBA0CG;INg4IP;IMtyIA;MApII,mBA0CG;INm4IP;IMzyIA;MApII,qBA0CG;INs4IP;IM5yIA;MApII,mBA0CG;INy4IP;IM/yIA;MApII,mBA0CG;IN44IP;IMlzIA;MApII,qBA0CG;IN+4IP;IMrzIA;MApII,sBA0CG;INk5IP;IMxzIA;MApII,eA0CG;INq5IP;IM3zIA;MApII,qBA0CG;INw5IP;IM9zIA;MApII,oBA0CG;IN25IP;IMj0IA;MApII,kBA0CG;IN85IP;IMp0IA;MApII,oBA0CG;INi6IP;IMv0IA;MApII,kBA0CG;INo6IP;IM10IA;MApII,kBA0CG;INu6IP;IM70IA;MApII,2BA0CG;IN06IP;IMh1IA;MApII,4BA0CG;IN66IP;IMn1IA;MApII,qBA0CG;INg7IP;IMt1IA;MApII,2BA0CG;INm7IP;IMz1IA;MApII,0BA0CG;INs7IP;IM51IA;MApII,wBA0CG;INy7IP;IM/1IA;MApII,0BA0CG;IN47IP;IMl2IA;MApII,wBA0CG;IN+7IP;IMr2IA;MApII,wBA0CG;INk8IP;IMx2IA;MApII,0BA0CG;INq8IP;IM32IA;MApII,2BA0CG;INw8IP;IM92IA;MApII,oBA0CG;IN28IP;IMj3IA;MApII,0BA0CG;IN88IP;IMp3IA;MApII,yBA0CG;INi9IP;IMv3IA;MApII,uBA0CG;INo9IP;IM13IA;MApII,yBA0CG;INu9IP;IM73IA;MApII,uBA0CG;IN09IP;IMh4IA;MApII,uBA0CG;IN69IP;IMn4IA;MApII,yBA0CG;INg+IP;IMt4IA;MApII,0BA0CG;INm+IP;IMz4IA;MApII,mBA0CG;INs+IP;IM54IA;MApII,yBA0CG;INy+IP;IM/4IA;MApII,wBA0CG;IN4+IP;IMl5IA;MApII,sBA0CG;IN++IP;IMr5IA;MApII,wBA0CG;INk/IP;IMx5IA;MApII,sBA0CG;INq/IP;IM35IA;MApII,sBA0CG;INw/IP;IM95IA;MApII,4BA0CG;IN2/IP;IMj6IA;MApII,6BA0CG;IN8/IP;IMp6IA;MApII,sBA0CG;INigJP;IMv6IA;MApII,4BA0CG;INogJP;IM16IA;MApII,2BA0CG;INugJP;IM76IA;MApII,yBA0CG;IN0gJP;IMh7IA;MApII,2BA0CG;IN6gJP;IMn7IA;MApII,yBA0CG;INghJP;IMt7IA;MApII,yBA0CG;INmhJP;IMz7IA;MApII,gBA0CG;INshJP;IM57IA;MApII,iBA0CG;INyhJP;IM/7IA;MApII,UA0CG;IN4hJP;IMl8IA;MApII,gBA0CG;IN+hJP;IMr8IA;MApII,eA0CG;INkiJP;IMx8IA;MApII,aA0CG;INqiJP;IM38IA;MApII,eA0CG;INwiJP;IM98IA;MApII,aA0CG;IN2iJP;IMj9IA;MApII,uBA0CG;IN8iJP;IMp9IA;MApII,wBA0CG;INijJP;IMv9IA;MApII,iBA0CG;INojJP;IM19IA;MApII,uBA0CG;INujJP;IM79IA;MApII,sBA0CG;IN0jJP;IMh+IA;MApII,oBA0CG;IN6jJP;IMn+IA;MApII,sBA0CG;INgkJP;IMt+IA;MApII,oBA0CG;INmkJP;IMz+IA;MApII,sBA0CG;INskJP;IM5+IA;MApII,uBA0CG;INykJP;IM/+IA;MApII,gBA0CG;IN4kJP;IMl/IA;MApII,sBA0CG;IN+kJP;IMr/IA;MApII,qBA0CG;INklJP;IMx/IA;MApII,mBA0CG;INqlJP;IM3/IA;MApII,qBA0CG;INwlJP;IM9/IA;MApII,mBA0CG;IN2lJP;IMjgJA;MApII,4BA0CG;IN8lJP;IMpgJA;MApII,6BA0CG;INimJP;IMvgJA;MApII,sBA0CG;INomJP;IM1gJA;MApII,4BA0CG;INumJP;IM7gJA;MApII,2BA0CG;IN0mJP;IMhhJA;MApII,yBA0CG;IN6mJP;IMnhJA;MApII,2BA0CG;INgnJP;IMthJA;MApII,yBA0CG;INmnJP;IMzhJA;MApII,2BA0CG;INsnJP;IM5hJA;MApII,4BA0CG;INynJP;IM/hJA;MApII,qBA0CG;IN4nJP;IMliJA;MApII,2BA0CG;IN+nJP;IMriJA;MApII,0BA0CG;INkoJP;IMxiJA;MApII,wBA0CG;INqoJP;IM3iJA;MApII,0BA0CG;INwoJP;IM9iJA;MApII,wBA0CG;IN2oJP;IMjjJA;MApII,0BA0CG;IN8oJP;IMpjJA;MApII,2BA0CG;INipJP;IMvjJA;MApII,oBA0CG;INopJP;IM1jJA;MApII,0BA0CG;INupJP;IM7jJA;MApII,yBA0CG;IN0pJP;IMhkJA;MApII,uBA0CG;IN6pJP;IMnkJA;MApII,yBA0CG;INgqJP;IMtkJA;MApII,uBA0CG;INmqJP;IMzkJA;MApII,6BA0CG;INsqJP;IM5kJA;MApII,8BA0CG;INyqJP;IM/kJA;MApII,uBA0CG;IN4qJP;IMllJA;MApII,6BA0CG;IN+qJP;IMrlJA;MApII,4BA0CG;INkrJP;IMxlJA;MApII,0BA0CG;INqrJP;IM3lJA;MApII,4BA0CG;INwrJP;IM9lJA;MApII,0BA0CG;IN2rJP;EACF;AACF;AO1vJA;EAEI,qBAAA;EAAA,yBAAA;EAAA,yBAAA;EAAA,0BAAA;EAAA,0BAAA;EAAA,2BAAA;APgwJJ","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $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 * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n@layer layout {\n .container,\n .container-fluid,\n .container-2xl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g--2,\n .gx--2 {\n --gutter-x: -0.5rem;\n }\n .g--2,\n .gy--2 {\n --gutter-y: -0.5rem;\n }\n .g--1,\n .gx--1 {\n --gutter-x: -0.25rem;\n }\n .g--1,\n .gy--1 {\n --gutter-y: -0.25rem;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-inline-start: 0;\n }\n .offset-sm-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-sm-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-sm-3 {\n margin-inline-start: 25%;\n }\n .offset-sm-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-sm-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-sm-6 {\n margin-inline-start: 50%;\n }\n .offset-sm-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-sm-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-sm-9 {\n margin-inline-start: 75%;\n }\n .offset-sm-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-sm-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-sm--2,\n .gx-sm--2 {\n --gutter-x: -0.5rem;\n }\n .g-sm--2,\n .gy-sm--2 {\n --gutter-y: -0.5rem;\n }\n .g-sm--1,\n .gx-sm--1 {\n --gutter-x: -0.25rem;\n }\n .g-sm--1,\n .gy-sm--1 {\n --gutter-y: -0.25rem;\n }\n .g-sm-0,\n .gx-sm-0 {\n --gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-inline-start: 0;\n }\n .offset-md-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-md-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-md-3 {\n margin-inline-start: 25%;\n }\n .offset-md-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-md-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-md-6 {\n margin-inline-start: 50%;\n }\n .offset-md-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-md-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-md-9 {\n margin-inline-start: 75%;\n }\n .offset-md-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-md-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-md--2,\n .gx-md--2 {\n --gutter-x: -0.5rem;\n }\n .g-md--2,\n .gy-md--2 {\n --gutter-y: -0.5rem;\n }\n .g-md--1,\n .gx-md--1 {\n --gutter-x: -0.25rem;\n }\n .g-md--1,\n .gy-md--1 {\n --gutter-y: -0.25rem;\n }\n .g-md-0,\n .gx-md-0 {\n --gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-inline-start: 0;\n }\n .offset-lg-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-lg-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-lg-3 {\n margin-inline-start: 25%;\n }\n .offset-lg-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-lg-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-lg-6 {\n margin-inline-start: 50%;\n }\n .offset-lg-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-lg-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-lg-9 {\n margin-inline-start: 75%;\n }\n .offset-lg-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-lg-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-lg--2,\n .gx-lg--2 {\n --gutter-x: -0.5rem;\n }\n .g-lg--2,\n .gy-lg--2 {\n --gutter-y: -0.5rem;\n }\n .g-lg--1,\n .gx-lg--1 {\n --gutter-x: -0.25rem;\n }\n .g-lg--1,\n .gy-lg--1 {\n --gutter-y: -0.25rem;\n }\n .g-lg-0,\n .gx-lg-0 {\n --gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-inline-start: 0;\n }\n .offset-xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-xl-3 {\n margin-inline-start: 25%;\n }\n .offset-xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-xl-6 {\n margin-inline-start: 50%;\n }\n .offset-xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-xl-9 {\n margin-inline-start: 75%;\n }\n .offset-xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-xl--2,\n .gx-xl--2 {\n --gutter-x: -0.5rem;\n }\n .g-xl--2,\n .gy-xl--2 {\n --gutter-y: -0.5rem;\n }\n .g-xl--1,\n .gx-xl--1 {\n --gutter-x: -0.25rem;\n }\n .g-xl--1,\n .gy-xl--1 {\n --gutter-y: -0.25rem;\n }\n .g-xl-0,\n .gx-xl-0 {\n --gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .col-2xl {\n flex: 1 0 0;\n }\n .row-cols-2xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-2xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-2xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-2xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-2xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-2xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-2xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-2xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-2xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-2xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-2xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-2xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-2xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-2xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-2xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-2xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-2xl-0 {\n margin-inline-start: 0;\n }\n .offset-2xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-2xl-3 {\n margin-inline-start: 25%;\n }\n .offset-2xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-2xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-2xl-6 {\n margin-inline-start: 50%;\n }\n .offset-2xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-2xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-2xl-9 {\n margin-inline-start: 75%;\n }\n .offset-2xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-2xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-2xl--2,\n .gx-2xl--2 {\n --gutter-x: -0.5rem;\n }\n .g-2xl--2,\n .gy-2xl--2 {\n --gutter-y: -0.5rem;\n }\n .g-2xl--1,\n .gx-2xl--1 {\n --gutter-x: -0.25rem;\n }\n .g-2xl--1,\n .gy-2xl--1 {\n --gutter-y: -0.25rem;\n }\n .g-2xl-0,\n .gx-2xl-0 {\n --gutter-x: 0;\n }\n .g-2xl-0,\n .gy-2xl-0 {\n --gutter-y: 0;\n }\n .g-2xl-1,\n .gx-2xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-2xl-1,\n .gy-2xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-2xl-2,\n .gx-2xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-2xl-2,\n .gy-2xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-2xl-3,\n .gx-2xl-3 {\n --gutter-x: 1rem;\n }\n .g-2xl-3,\n .gy-2xl-3 {\n --gutter-y: 1rem;\n }\n .g-2xl-4,\n .gx-2xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-2xl-4,\n .gy-2xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-2xl-5,\n .gx-2xl-5 {\n --gutter-x: 3rem;\n }\n .g-2xl-5,\n .gy-2xl-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .g-col-sm-1 {\n grid-column: auto/span 1;\n }\n .g-col-sm-2 {\n grid-column: auto/span 2;\n }\n .g-col-sm-3 {\n grid-column: auto/span 3;\n }\n .g-col-sm-4 {\n grid-column: auto/span 4;\n }\n .g-col-sm-5 {\n grid-column: auto/span 5;\n }\n .g-col-sm-6 {\n grid-column: auto/span 6;\n }\n .g-col-sm-7 {\n grid-column: auto/span 7;\n }\n .g-col-sm-8 {\n grid-column: auto/span 8;\n }\n .g-col-sm-9 {\n grid-column: auto/span 9;\n }\n .g-col-sm-10 {\n grid-column: auto/span 10;\n }\n .g-col-sm-11 {\n grid-column: auto/span 11;\n }\n .g-col-sm-12 {\n grid-column: auto/span 12;\n }\n .g-start-sm-1 {\n grid-column-start: 1;\n }\n .g-start-sm-2 {\n grid-column-start: 2;\n }\n .g-start-sm-3 {\n grid-column-start: 3;\n }\n .g-start-sm-4 {\n grid-column-start: 4;\n }\n .g-start-sm-5 {\n grid-column-start: 5;\n }\n .g-start-sm-6 {\n grid-column-start: 6;\n }\n .g-start-sm-7 {\n grid-column-start: 7;\n }\n .g-start-sm-8 {\n grid-column-start: 8;\n }\n .g-start-sm-9 {\n grid-column-start: 9;\n }\n .g-start-sm-10 {\n grid-column-start: 10;\n }\n .g-start-sm-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .g-col-md-1 {\n grid-column: auto/span 1;\n }\n .g-col-md-2 {\n grid-column: auto/span 2;\n }\n .g-col-md-3 {\n grid-column: auto/span 3;\n }\n .g-col-md-4 {\n grid-column: auto/span 4;\n }\n .g-col-md-5 {\n grid-column: auto/span 5;\n }\n .g-col-md-6 {\n grid-column: auto/span 6;\n }\n .g-col-md-7 {\n grid-column: auto/span 7;\n }\n .g-col-md-8 {\n grid-column: auto/span 8;\n }\n .g-col-md-9 {\n grid-column: auto/span 9;\n }\n .g-col-md-10 {\n grid-column: auto/span 10;\n }\n .g-col-md-11 {\n grid-column: auto/span 11;\n }\n .g-col-md-12 {\n grid-column: auto/span 12;\n }\n .g-start-md-1 {\n grid-column-start: 1;\n }\n .g-start-md-2 {\n grid-column-start: 2;\n }\n .g-start-md-3 {\n grid-column-start: 3;\n }\n .g-start-md-4 {\n grid-column-start: 4;\n }\n .g-start-md-5 {\n grid-column-start: 5;\n }\n .g-start-md-6 {\n grid-column-start: 6;\n }\n .g-start-md-7 {\n grid-column-start: 7;\n }\n .g-start-md-8 {\n grid-column-start: 8;\n }\n .g-start-md-9 {\n grid-column-start: 9;\n }\n .g-start-md-10 {\n grid-column-start: 10;\n }\n .g-start-md-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .g-col-lg-1 {\n grid-column: auto/span 1;\n }\n .g-col-lg-2 {\n grid-column: auto/span 2;\n }\n .g-col-lg-3 {\n grid-column: auto/span 3;\n }\n .g-col-lg-4 {\n grid-column: auto/span 4;\n }\n .g-col-lg-5 {\n grid-column: auto/span 5;\n }\n .g-col-lg-6 {\n grid-column: auto/span 6;\n }\n .g-col-lg-7 {\n grid-column: auto/span 7;\n }\n .g-col-lg-8 {\n grid-column: auto/span 8;\n }\n .g-col-lg-9 {\n grid-column: auto/span 9;\n }\n .g-col-lg-10 {\n grid-column: auto/span 10;\n }\n .g-col-lg-11 {\n grid-column: auto/span 11;\n }\n .g-col-lg-12 {\n grid-column: auto/span 12;\n }\n .g-start-lg-1 {\n grid-column-start: 1;\n }\n .g-start-lg-2 {\n grid-column-start: 2;\n }\n .g-start-lg-3 {\n grid-column-start: 3;\n }\n .g-start-lg-4 {\n grid-column-start: 4;\n }\n .g-start-lg-5 {\n grid-column-start: 5;\n }\n .g-start-lg-6 {\n grid-column-start: 6;\n }\n .g-start-lg-7 {\n grid-column-start: 7;\n }\n .g-start-lg-8 {\n grid-column-start: 8;\n }\n .g-start-lg-9 {\n grid-column-start: 9;\n }\n .g-start-lg-10 {\n grid-column-start: 10;\n }\n .g-start-lg-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .g-col-xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-xl-1 {\n grid-column-start: 1;\n }\n .g-start-xl-2 {\n grid-column-start: 2;\n }\n .g-start-xl-3 {\n grid-column-start: 3;\n }\n .g-start-xl-4 {\n grid-column-start: 4;\n }\n .g-start-xl-5 {\n grid-column-start: 5;\n }\n .g-start-xl-6 {\n grid-column-start: 6;\n }\n .g-start-xl-7 {\n grid-column-start: 7;\n }\n .g-start-xl-8 {\n grid-column-start: 8;\n }\n .g-start-xl-9 {\n grid-column-start: 9;\n }\n .g-start-xl-10 {\n grid-column-start: 10;\n }\n .g-start-xl-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .g-col-2xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-2xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-2xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-2xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-2xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-2xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-2xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-2xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-2xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-2xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-2xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-2xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-2xl-1 {\n grid-column-start: 1;\n }\n .g-start-2xl-2 {\n grid-column-start: 2;\n }\n .g-start-2xl-3 {\n grid-column-start: 3;\n }\n .g-start-2xl-4 {\n grid-column-start: 4;\n }\n .g-start-2xl-5 {\n grid-column-start: 5;\n }\n .g-start-2xl-6 {\n grid-column-start: 6;\n }\n .g-start-2xl-7 {\n grid-column-start: 7;\n }\n .g-start-2xl-8 {\n grid-column-start: 8;\n }\n .g-start-2xl-9 {\n grid-column-start: 9;\n }\n .g-start-2xl-10 {\n grid-column-start: 10;\n }\n .g-start-2xl-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer utilities {\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .order-first {\n order: -1;\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-last {\n order: 6;\n }\n .m--2 {\n margin: -0.5rem;\n }\n .m--1 {\n margin: -0.25rem;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx--2 {\n margin-inline: -0.5rem;\n }\n .mx--1 {\n margin-inline: -0.25rem;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my--2 {\n margin-block: -0.5rem;\n }\n .my--1 {\n margin-block: -0.25rem;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt--2 {\n margin-block-start: -0.5rem;\n }\n .mt--1 {\n margin-block-start: -0.25rem;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me--2 {\n margin-inline-end: -0.5rem;\n }\n .me--1 {\n margin-inline-end: -0.25rem;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb--2 {\n margin-block-end: -0.5rem;\n }\n .mb--1 {\n margin-block-end: -0.25rem;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p--2 {\n padding: -0.5rem;\n }\n .p--1 {\n padding: -0.25rem;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px--2 {\n padding-inline: -0.5rem;\n }\n .px--1 {\n padding-inline: -0.25rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py--2 {\n padding-block: -0.5rem;\n }\n .py--1 {\n padding-block: -0.25rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt--2 {\n padding-block-start: -0.5rem;\n }\n .pt--1 {\n padding-block-start: -0.25rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe--2 {\n padding-inline-end: -0.5rem;\n }\n .pe--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb--2 {\n padding-block-end: -0.5rem;\n }\n .pb--1 {\n padding-block-end: -0.25rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps--2 {\n padding-inline-start: -0.5rem;\n }\n .ps--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n @media (width >= 576px) {\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm--2 {\n margin: -0.5rem;\n }\n .m-sm--1 {\n margin: -0.25rem;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm--2 {\n margin-inline: -0.5rem;\n }\n .mx-sm--1 {\n margin-inline: -0.25rem;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm--2 {\n margin-block: -0.5rem;\n }\n .my-sm--1 {\n margin-block: -0.25rem;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm--2 {\n margin-block-start: -0.5rem;\n }\n .mt-sm--1 {\n margin-block-start: -0.25rem;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm--2 {\n margin-inline-end: -0.5rem;\n }\n .me-sm--1 {\n margin-inline-end: -0.25rem;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm--2 {\n margin-block-end: -0.5rem;\n }\n .mb-sm--1 {\n margin-block-end: -0.25rem;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm--2 {\n padding: -0.5rem;\n }\n .p-sm--1 {\n padding: -0.25rem;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm--2 {\n padding-inline: -0.5rem;\n }\n .px-sm--1 {\n padding-inline: -0.25rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm--2 {\n padding-block: -0.5rem;\n }\n .py-sm--1 {\n padding-block: -0.25rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm--2 {\n padding-block-start: -0.5rem;\n }\n .pt-sm--1 {\n padding-block-start: -0.25rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-sm--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm--2 {\n padding-block-end: -0.5rem;\n }\n .pb-sm--1 {\n padding-block-end: -0.25rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-sm--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 768px) {\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md--2 {\n margin: -0.5rem;\n }\n .m-md--1 {\n margin: -0.25rem;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md--2 {\n margin-inline: -0.5rem;\n }\n .mx-md--1 {\n margin-inline: -0.25rem;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md--2 {\n margin-block: -0.5rem;\n }\n .my-md--1 {\n margin-block: -0.25rem;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md--2 {\n margin-block-start: -0.5rem;\n }\n .mt-md--1 {\n margin-block-start: -0.25rem;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md--2 {\n margin-inline-end: -0.5rem;\n }\n .me-md--1 {\n margin-inline-end: -0.25rem;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md--2 {\n margin-block-end: -0.5rem;\n }\n .mb-md--1 {\n margin-block-end: -0.25rem;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md--2 {\n padding: -0.5rem;\n }\n .p-md--1 {\n padding: -0.25rem;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md--2 {\n padding-inline: -0.5rem;\n }\n .px-md--1 {\n padding-inline: -0.25rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md--2 {\n padding-block: -0.5rem;\n }\n .py-md--1 {\n padding-block: -0.25rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md--2 {\n padding-block-start: -0.5rem;\n }\n .pt-md--1 {\n padding-block-start: -0.25rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-md--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md--2 {\n padding-block-end: -0.5rem;\n }\n .pb-md--1 {\n padding-block-end: -0.25rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-md--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1024px) {\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg--2 {\n margin: -0.5rem;\n }\n .m-lg--1 {\n margin: -0.25rem;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg--2 {\n margin-inline: -0.5rem;\n }\n .mx-lg--1 {\n margin-inline: -0.25rem;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg--2 {\n margin-block: -0.5rem;\n }\n .my-lg--1 {\n margin-block: -0.25rem;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg--2 {\n margin-block-start: -0.5rem;\n }\n .mt-lg--1 {\n margin-block-start: -0.25rem;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg--2 {\n margin-inline-end: -0.5rem;\n }\n .me-lg--1 {\n margin-inline-end: -0.25rem;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg--2 {\n margin-block-end: -0.5rem;\n }\n .mb-lg--1 {\n margin-block-end: -0.25rem;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg--2 {\n padding: -0.5rem;\n }\n .p-lg--1 {\n padding: -0.25rem;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg--2 {\n padding-inline: -0.5rem;\n }\n .px-lg--1 {\n padding-inline: -0.25rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg--2 {\n padding-block: -0.5rem;\n }\n .py-lg--1 {\n padding-block: -0.25rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg--2 {\n padding-block-start: -0.5rem;\n }\n .pt-lg--1 {\n padding-block-start: -0.25rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-lg--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg--2 {\n padding-block-end: -0.5rem;\n }\n .pb-lg--1 {\n padding-block-end: -0.25rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-lg--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1280px) {\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl--2 {\n margin: -0.5rem;\n }\n .m-xl--1 {\n margin: -0.25rem;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl--2 {\n margin-inline: -0.5rem;\n }\n .mx-xl--1 {\n margin-inline: -0.25rem;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl--2 {\n margin-block: -0.5rem;\n }\n .my-xl--1 {\n margin-block: -0.25rem;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl--2 {\n margin-block-start: -0.5rem;\n }\n .mt-xl--1 {\n margin-block-start: -0.25rem;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl--2 {\n margin-inline-end: -0.5rem;\n }\n .me-xl--1 {\n margin-inline-end: -0.25rem;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl--2 {\n margin-block-end: -0.5rem;\n }\n .mb-xl--1 {\n margin-block-end: -0.25rem;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl--2 {\n padding: -0.5rem;\n }\n .p-xl--1 {\n padding: -0.25rem;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl--2 {\n padding-inline: -0.5rem;\n }\n .px-xl--1 {\n padding-inline: -0.25rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl--2 {\n padding-block: -0.5rem;\n }\n .py-xl--1 {\n padding-block: -0.25rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl--2 {\n padding-block-start: -0.5rem;\n }\n .pt-xl--1 {\n padding-block-start: -0.25rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-xl--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl--2 {\n padding-block-end: -0.5rem;\n }\n .pb-xl--1 {\n padding-block-end: -0.25rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-xl--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1536px) {\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl--2 {\n margin: -0.5rem;\n }\n .m-2xl--1 {\n margin: -0.25rem;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl--2 {\n margin-inline: -0.5rem;\n }\n .mx-2xl--1 {\n margin-inline: -0.25rem;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl--2 {\n margin-block: -0.5rem;\n }\n .my-2xl--1 {\n margin-block: -0.25rem;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl--2 {\n margin-block-start: -0.5rem;\n }\n .mt-2xl--1 {\n margin-block-start: -0.25rem;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl--2 {\n margin-inline-end: -0.5rem;\n }\n .me-2xl--1 {\n margin-inline-end: -0.25rem;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl--2 {\n margin-block-end: -0.5rem;\n }\n .mb-2xl--1 {\n margin-block-end: -0.25rem;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl--2 {\n padding: -0.5rem;\n }\n .p-2xl--1 {\n padding: -0.25rem;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl--2 {\n padding-inline: -0.5rem;\n }\n .px-2xl--1 {\n padding-inline: -0.25rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl--2 {\n padding-block: -0.5rem;\n }\n .py-2xl--1 {\n padding-block: -0.25rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl--2 {\n padding-block-start: -0.5rem;\n }\n .pt-2xl--1 {\n padding-block-start: -0.25rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-2xl--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl--2 {\n padding-block-end: -0.5rem;\n }\n .pb-2xl--1 {\n padding-block-end: -0.25rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-2xl--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n }\n}\n:root {\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$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: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (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: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (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: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type: \"media-query\" !default;\n$color-contrast-dark: #000 !default;\n$color-contrast-light: #fff !default;\n$min-contrast-ratio: 4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n -2: $spacer * -.5,\n -1: $spacer * -.25,\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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// scss-docs-start breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !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","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n // Loop over each breakpoint\n @each $breakpoint in map.keys($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n }\n\n // Print utilities\n @media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n","@use \"banner\" with (\n $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"justify-items\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"place-items\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n @each $name, $value in $breakpoints {\n --breakpoint-#{$name}: #{$value};\n }\n}\n"]} \ No newline at end of file diff --git a/dist/css/bootstrap-grid.min.css b/dist/css/bootstrap-grid.min.css index b1dd12defc3a..0c092b3ba222 100644 --- a/dist/css/bootstrap-grid.min.css +++ b/dist/css/bootstrap-grid.min.css @@ -3,5 +3,5 @@ * Copyright 2011-2026 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -@layer layout{.container,.container-fluid,.container-2xl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x)*.5);margin-inline:auto}@media (width>=576px){.container-sm,.container{max-width:540px}}@media (width>=768px){.container-md,.container-sm,.container{max-width:720px}}@media (width>=1024px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (width>=1280px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1200px}}@media (width>=1536px){.container-2xl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5*var(--bs-gutter-x));margin-top:calc(-1*var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g--2,.gx--2{--bs-gutter-x:-.5rem}.g--2,.gy--2{--bs-gutter-y:-.5rem}.g--1,.gx--1{--bs-gutter-x:-.25rem}.g--1,.gy--1{--bs-gutter-y:-.25rem}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (width>=576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.3333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.6667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333%}.col-sm-2{flex:none;width:16.6667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.3333%}.col-sm-5{flex:none;width:41.6667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.3333%}.col-sm-8{flex:none;width:66.6667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.3333%}.col-sm-11{flex:none;width:91.6667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-inline-start:0}.offset-sm-1{margin-inline-start:8.33333%}.offset-sm-2{margin-inline-start:16.6667%}.offset-sm-3{margin-inline-start:25%}.offset-sm-4{margin-inline-start:33.3333%}.offset-sm-5{margin-inline-start:41.6667%}.offset-sm-6{margin-inline-start:50%}.offset-sm-7{margin-inline-start:58.3333%}.offset-sm-8{margin-inline-start:66.6667%}.offset-sm-9{margin-inline-start:75%}.offset-sm-10{margin-inline-start:83.3333%}.offset-sm-11{margin-inline-start:91.6667%}.g-sm--2,.gx-sm--2{--bs-gutter-x:-.5rem}.g-sm--2,.gy-sm--2{--bs-gutter-y:-.5rem}.g-sm--1,.gx-sm--1{--bs-gutter-x:-.25rem}.g-sm--1,.gy-sm--1{--bs-gutter-y:-.25rem}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (width>=768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.3333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.6667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333%}.col-md-2{flex:none;width:16.6667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.3333%}.col-md-5{flex:none;width:41.6667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.3333%}.col-md-8{flex:none;width:66.6667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.3333%}.col-md-11{flex:none;width:91.6667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-inline-start:0}.offset-md-1{margin-inline-start:8.33333%}.offset-md-2{margin-inline-start:16.6667%}.offset-md-3{margin-inline-start:25%}.offset-md-4{margin-inline-start:33.3333%}.offset-md-5{margin-inline-start:41.6667%}.offset-md-6{margin-inline-start:50%}.offset-md-7{margin-inline-start:58.3333%}.offset-md-8{margin-inline-start:66.6667%}.offset-md-9{margin-inline-start:75%}.offset-md-10{margin-inline-start:83.3333%}.offset-md-11{margin-inline-start:91.6667%}.g-md--2,.gx-md--2{--bs-gutter-x:-.5rem}.g-md--2,.gy-md--2{--bs-gutter-y:-.5rem}.g-md--1,.gx-md--1{--bs-gutter-x:-.25rem}.g-md--1,.gy-md--1{--bs-gutter-y:-.25rem}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (width>=1024px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.3333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.6667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333%}.col-lg-2{flex:none;width:16.6667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.3333%}.col-lg-5{flex:none;width:41.6667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.3333%}.col-lg-8{flex:none;width:66.6667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.3333%}.col-lg-11{flex:none;width:91.6667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-inline-start:0}.offset-lg-1{margin-inline-start:8.33333%}.offset-lg-2{margin-inline-start:16.6667%}.offset-lg-3{margin-inline-start:25%}.offset-lg-4{margin-inline-start:33.3333%}.offset-lg-5{margin-inline-start:41.6667%}.offset-lg-6{margin-inline-start:50%}.offset-lg-7{margin-inline-start:58.3333%}.offset-lg-8{margin-inline-start:66.6667%}.offset-lg-9{margin-inline-start:75%}.offset-lg-10{margin-inline-start:83.3333%}.offset-lg-11{margin-inline-start:91.6667%}.g-lg--2,.gx-lg--2{--bs-gutter-x:-.5rem}.g-lg--2,.gy-lg--2{--bs-gutter-y:-.5rem}.g-lg--1,.gx-lg--1{--bs-gutter-x:-.25rem}.g-lg--1,.gy-lg--1{--bs-gutter-y:-.25rem}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (width>=1280px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.3333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.6667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333%}.col-xl-2{flex:none;width:16.6667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.3333%}.col-xl-5{flex:none;width:41.6667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.3333%}.col-xl-8{flex:none;width:66.6667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.3333%}.col-xl-11{flex:none;width:91.6667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-inline-start:0}.offset-xl-1{margin-inline-start:8.33333%}.offset-xl-2{margin-inline-start:16.6667%}.offset-xl-3{margin-inline-start:25%}.offset-xl-4{margin-inline-start:33.3333%}.offset-xl-5{margin-inline-start:41.6667%}.offset-xl-6{margin-inline-start:50%}.offset-xl-7{margin-inline-start:58.3333%}.offset-xl-8{margin-inline-start:66.6667%}.offset-xl-9{margin-inline-start:75%}.offset-xl-10{margin-inline-start:83.3333%}.offset-xl-11{margin-inline-start:91.6667%}.g-xl--2,.gx-xl--2{--bs-gutter-x:-.5rem}.g-xl--2,.gy-xl--2{--bs-gutter-y:-.5rem}.g-xl--1,.gx-xl--1{--bs-gutter-x:-.25rem}.g-xl--1,.gy-xl--1{--bs-gutter-y:-.25rem}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (width>=1536px){.col-2xl{flex:1 0 0}.row-cols-2xl-auto>*{flex:none;width:auto}.row-cols-2xl-1>*{flex:none;width:100%}.row-cols-2xl-2>*{flex:none;width:50%}.row-cols-2xl-3>*{flex:none;width:33.3333%}.row-cols-2xl-4>*{flex:none;width:25%}.row-cols-2xl-5>*{flex:none;width:20%}.row-cols-2xl-6>*{flex:none;width:16.6667%}.col-2xl-auto{flex:none;width:auto}.col-2xl-1{flex:none;width:8.33333%}.col-2xl-2{flex:none;width:16.6667%}.col-2xl-3{flex:none;width:25%}.col-2xl-4{flex:none;width:33.3333%}.col-2xl-5{flex:none;width:41.6667%}.col-2xl-6{flex:none;width:50%}.col-2xl-7{flex:none;width:58.3333%}.col-2xl-8{flex:none;width:66.6667%}.col-2xl-9{flex:none;width:75%}.col-2xl-10{flex:none;width:83.3333%}.col-2xl-11{flex:none;width:91.6667%}.col-2xl-12{flex:none;width:100%}.offset-2xl-0{margin-inline-start:0}.offset-2xl-1{margin-inline-start:8.33333%}.offset-2xl-2{margin-inline-start:16.6667%}.offset-2xl-3{margin-inline-start:25%}.offset-2xl-4{margin-inline-start:33.3333%}.offset-2xl-5{margin-inline-start:41.6667%}.offset-2xl-6{margin-inline-start:50%}.offset-2xl-7{margin-inline-start:58.3333%}.offset-2xl-8{margin-inline-start:66.6667%}.offset-2xl-9{margin-inline-start:75%}.offset-2xl-10{margin-inline-start:83.3333%}.offset-2xl-11{margin-inline-start:91.6667%}.g-2xl--2,.gx-2xl--2{--bs-gutter-x:-.5rem}.g-2xl--2,.gy-2xl--2{--bs-gutter-y:-.5rem}.g-2xl--1,.gx-2xl--1{--bs-gutter-x:-.25rem}.g-2xl--1,.gy-2xl--1{--bs-gutter-y:-.25rem}.g-2xl-0,.gx-2xl-0{--bs-gutter-x:0}.g-2xl-0,.gy-2xl-0{--bs-gutter-y:0}.g-2xl-1,.gx-2xl-1{--bs-gutter-x:.25rem}.g-2xl-1,.gy-2xl-1{--bs-gutter-y:.25rem}.g-2xl-2,.gx-2xl-2{--bs-gutter-x:.5rem}.g-2xl-2,.gy-2xl-2{--bs-gutter-y:.5rem}.g-2xl-3,.gx-2xl-3{--bs-gutter-x:1rem}.g-2xl-3,.gy-2xl-3{--bs-gutter-y:1rem}.g-2xl-4,.gx-2xl-4{--bs-gutter-x:1.5rem}.g-2xl-4,.gy-2xl-4{--bs-gutter-y:1.5rem}.g-2xl-5,.gx-2xl-5{--bs-gutter-x:3rem}.g-2xl-5,.gy-2xl-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows),1fr);grid-template-columns:repeat(var(--bs-columns),1fr);gap:var(--bs-gap);display:grid}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (width>=576px){.g-col-sm-1{grid-column:auto/span 1}.g-col-sm-2{grid-column:auto/span 2}.g-col-sm-3{grid-column:auto/span 3}.g-col-sm-4{grid-column:auto/span 4}.g-col-sm-5{grid-column:auto/span 5}.g-col-sm-6{grid-column:auto/span 6}.g-col-sm-7{grid-column:auto/span 7}.g-col-sm-8{grid-column:auto/span 8}.g-col-sm-9{grid-column:auto/span 9}.g-col-sm-10{grid-column:auto/span 10}.g-col-sm-11{grid-column:auto/span 11}.g-col-sm-12{grid-column:auto/span 12}.g-start-sm-1{grid-column-start:1}.g-start-sm-2{grid-column-start:2}.g-start-sm-3{grid-column-start:3}.g-start-sm-4{grid-column-start:4}.g-start-sm-5{grid-column-start:5}.g-start-sm-6{grid-column-start:6}.g-start-sm-7{grid-column-start:7}.g-start-sm-8{grid-column-start:8}.g-start-sm-9{grid-column-start:9}.g-start-sm-10{grid-column-start:10}.g-start-sm-11{grid-column-start:11}}@media (width>=768px){.g-col-md-1{grid-column:auto/span 1}.g-col-md-2{grid-column:auto/span 2}.g-col-md-3{grid-column:auto/span 3}.g-col-md-4{grid-column:auto/span 4}.g-col-md-5{grid-column:auto/span 5}.g-col-md-6{grid-column:auto/span 6}.g-col-md-7{grid-column:auto/span 7}.g-col-md-8{grid-column:auto/span 8}.g-col-md-9{grid-column:auto/span 9}.g-col-md-10{grid-column:auto/span 10}.g-col-md-11{grid-column:auto/span 11}.g-col-md-12{grid-column:auto/span 12}.g-start-md-1{grid-column-start:1}.g-start-md-2{grid-column-start:2}.g-start-md-3{grid-column-start:3}.g-start-md-4{grid-column-start:4}.g-start-md-5{grid-column-start:5}.g-start-md-6{grid-column-start:6}.g-start-md-7{grid-column-start:7}.g-start-md-8{grid-column-start:8}.g-start-md-9{grid-column-start:9}.g-start-md-10{grid-column-start:10}.g-start-md-11{grid-column-start:11}}@media (width>=1024px){.g-col-lg-1{grid-column:auto/span 1}.g-col-lg-2{grid-column:auto/span 2}.g-col-lg-3{grid-column:auto/span 3}.g-col-lg-4{grid-column:auto/span 4}.g-col-lg-5{grid-column:auto/span 5}.g-col-lg-6{grid-column:auto/span 6}.g-col-lg-7{grid-column:auto/span 7}.g-col-lg-8{grid-column:auto/span 8}.g-col-lg-9{grid-column:auto/span 9}.g-col-lg-10{grid-column:auto/span 10}.g-col-lg-11{grid-column:auto/span 11}.g-col-lg-12{grid-column:auto/span 12}.g-start-lg-1{grid-column-start:1}.g-start-lg-2{grid-column-start:2}.g-start-lg-3{grid-column-start:3}.g-start-lg-4{grid-column-start:4}.g-start-lg-5{grid-column-start:5}.g-start-lg-6{grid-column-start:6}.g-start-lg-7{grid-column-start:7}.g-start-lg-8{grid-column-start:8}.g-start-lg-9{grid-column-start:9}.g-start-lg-10{grid-column-start:10}.g-start-lg-11{grid-column-start:11}}@media (width>=1280px){.g-col-xl-1{grid-column:auto/span 1}.g-col-xl-2{grid-column:auto/span 2}.g-col-xl-3{grid-column:auto/span 3}.g-col-xl-4{grid-column:auto/span 4}.g-col-xl-5{grid-column:auto/span 5}.g-col-xl-6{grid-column:auto/span 6}.g-col-xl-7{grid-column:auto/span 7}.g-col-xl-8{grid-column:auto/span 8}.g-col-xl-9{grid-column:auto/span 9}.g-col-xl-10{grid-column:auto/span 10}.g-col-xl-11{grid-column:auto/span 11}.g-col-xl-12{grid-column:auto/span 12}.g-start-xl-1{grid-column-start:1}.g-start-xl-2{grid-column-start:2}.g-start-xl-3{grid-column-start:3}.g-start-xl-4{grid-column-start:4}.g-start-xl-5{grid-column-start:5}.g-start-xl-6{grid-column-start:6}.g-start-xl-7{grid-column-start:7}.g-start-xl-8{grid-column-start:8}.g-start-xl-9{grid-column-start:9}.g-start-xl-10{grid-column-start:10}.g-start-xl-11{grid-column-start:11}}@media (width>=1536px){.g-col-2xl-1{grid-column:auto/span 1}.g-col-2xl-2{grid-column:auto/span 2}.g-col-2xl-3{grid-column:auto/span 3}.g-col-2xl-4{grid-column:auto/span 4}.g-col-2xl-5{grid-column:auto/span 5}.g-col-2xl-6{grid-column:auto/span 6}.g-col-2xl-7{grid-column:auto/span 7}.g-col-2xl-8{grid-column:auto/span 8}.g-col-2xl-9{grid-column:auto/span 9}.g-col-2xl-10{grid-column:auto/span 10}.g-col-2xl-11{grid-column:auto/span 11}.g-col-2xl-12{grid-column:auto/span 12}.g-start-2xl-1{grid-column-start:1}.g-start-2xl-2{grid-column-start:2}.g-start-2xl-3{grid-column-start:3}.g-start-2xl-4{grid-column-start:4}.g-start-2xl-5{grid-column-start:5}.g-start-2xl-6{grid-column-start:6}.g-start-2xl-7{grid-column-start:7}.g-start-2xl-8{grid-column-start:8}.g-start-2xl-9{grid-column-start:9}.g-start-2xl-10{grid-column-start:10}.g-start-2xl-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px}@layer utilities{.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch stretch}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m--2{margin:-.5rem}.m--1{margin:-.25rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx--2{margin-inline:-.5rem}.mx--1{margin-inline:-.25rem}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my--2{margin-block:-.5rem}.my--1{margin-block:-.25rem}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt--2{margin-block-start:-.5rem}.mt--1{margin-block-start:-.25rem}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me--2{margin-inline-end:-.5rem}.me--1{margin-inline-end:-.25rem}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb--2{margin-block-end:-.5rem}.mb--1{margin-block-end:-.25rem}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms--2{margin-inline-start:-.5rem}.ms--1{margin-inline-start:-.25rem}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms-auto{margin-inline-start:auto}.p--2{padding:-.5rem}.p--1{padding:-.25rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px--2{padding-inline:-.5rem}.px--1{padding-inline:-.25rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py--2{padding-block:-.5rem}.py--1{padding-block:-.25rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt--2{padding-block-start:-.5rem}.pt--1{padding-block-start:-.25rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe--2{padding-inline-end:-.5rem}.pe--1{padding-inline-end:-.25rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb--2{padding-block-end:-.5rem}.pb--1{padding-block-end:-.25rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps--2{padding-inline-start:-.5rem}.ps--1{padding-inline-start:-.25rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}@media (width>=576px){.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch stretch}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm--2{margin:-.5rem}.m-sm--1{margin:-.25rem}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm--2{margin-inline:-.5rem}.mx-sm--1{margin-inline:-.25rem}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:.25rem}.mx-sm-2{margin-inline:.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm--2{margin-block:-.5rem}.my-sm--1{margin-block:-.25rem}.my-sm-0{margin-block:0}.my-sm-1{margin-block:.25rem}.my-sm-2{margin-block:.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm--2{margin-block-start:-.5rem}.mt-sm--1{margin-block-start:-.25rem}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:.25rem}.mt-sm-2{margin-block-start:.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm--2{margin-inline-end:-.5rem}.me-sm--1{margin-inline-end:-.25rem}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm--2{margin-block-end:-.5rem}.mb-sm--1{margin-block-end:-.25rem}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:.25rem}.mb-sm-2{margin-block-end:.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm--2{margin-inline-start:-.5rem}.ms-sm--1{margin-inline-start:-.25rem}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm-auto{margin-inline-start:auto}.p-sm--2{padding:-.5rem}.p-sm--1{padding:-.25rem}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm--2{padding-inline:-.5rem}.px-sm--1{padding-inline:-.25rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:.25rem}.px-sm-2{padding-inline:.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm--2{padding-block:-.5rem}.py-sm--1{padding-block:-.25rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:.25rem}.py-sm-2{padding-block:.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm--2{padding-block-start:-.5rem}.pt-sm--1{padding-block-start:-.25rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:.25rem}.pt-sm-2{padding-block-start:.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm--2{padding-inline-end:-.5rem}.pe-sm--1{padding-inline-end:-.25rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:.25rem}.pe-sm-2{padding-inline-end:.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm--2{padding-block-end:-.5rem}.pb-sm--1{padding-block-end:-.25rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:.25rem}.pb-sm-2{padding-block-end:.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm--2{padding-inline-start:-.5rem}.ps-sm--1{padding-inline-start:-.25rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:.25rem}.ps-sm-2{padding-inline-start:.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}}@media (width>=768px){.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch stretch}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md--2{margin:-.5rem}.m-md--1{margin:-.25rem}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md--2{margin-inline:-.5rem}.mx-md--1{margin-inline:-.25rem}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:.25rem}.mx-md-2{margin-inline:.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md--2{margin-block:-.5rem}.my-md--1{margin-block:-.25rem}.my-md-0{margin-block:0}.my-md-1{margin-block:.25rem}.my-md-2{margin-block:.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md--2{margin-block-start:-.5rem}.mt-md--1{margin-block-start:-.25rem}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:.25rem}.mt-md-2{margin-block-start:.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md--2{margin-inline-end:-.5rem}.me-md--1{margin-inline-end:-.25rem}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md--2{margin-block-end:-.5rem}.mb-md--1{margin-block-end:-.25rem}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:.25rem}.mb-md-2{margin-block-end:.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md--2{margin-inline-start:-.5rem}.ms-md--1{margin-inline-start:-.25rem}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md-auto{margin-inline-start:auto}.p-md--2{padding:-.5rem}.p-md--1{padding:-.25rem}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md--2{padding-inline:-.5rem}.px-md--1{padding-inline:-.25rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:.25rem}.px-md-2{padding-inline:.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md--2{padding-block:-.5rem}.py-md--1{padding-block:-.25rem}.py-md-0{padding-block:0}.py-md-1{padding-block:.25rem}.py-md-2{padding-block:.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md--2{padding-block-start:-.5rem}.pt-md--1{padding-block-start:-.25rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:.25rem}.pt-md-2{padding-block-start:.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md--2{padding-inline-end:-.5rem}.pe-md--1{padding-inline-end:-.25rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:.25rem}.pe-md-2{padding-inline-end:.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md--2{padding-block-end:-.5rem}.pb-md--1{padding-block-end:-.25rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:.25rem}.pb-md-2{padding-block-end:.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md--2{padding-inline-start:-.5rem}.ps-md--1{padding-inline-start:-.25rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:.25rem}.ps-md-2{padding-inline-start:.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}}@media (width>=1024px){.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch stretch}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg--2{margin:-.5rem}.m-lg--1{margin:-.25rem}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg--2{margin-inline:-.5rem}.mx-lg--1{margin-inline:-.25rem}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:.25rem}.mx-lg-2{margin-inline:.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg--2{margin-block:-.5rem}.my-lg--1{margin-block:-.25rem}.my-lg-0{margin-block:0}.my-lg-1{margin-block:.25rem}.my-lg-2{margin-block:.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg--2{margin-block-start:-.5rem}.mt-lg--1{margin-block-start:-.25rem}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:.25rem}.mt-lg-2{margin-block-start:.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg--2{margin-inline-end:-.5rem}.me-lg--1{margin-inline-end:-.25rem}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg--2{margin-block-end:-.5rem}.mb-lg--1{margin-block-end:-.25rem}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:.25rem}.mb-lg-2{margin-block-end:.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg--2{margin-inline-start:-.5rem}.ms-lg--1{margin-inline-start:-.25rem}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg-auto{margin-inline-start:auto}.p-lg--2{padding:-.5rem}.p-lg--1{padding:-.25rem}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg--2{padding-inline:-.5rem}.px-lg--1{padding-inline:-.25rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:.25rem}.px-lg-2{padding-inline:.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg--2{padding-block:-.5rem}.py-lg--1{padding-block:-.25rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:.25rem}.py-lg-2{padding-block:.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg--2{padding-block-start:-.5rem}.pt-lg--1{padding-block-start:-.25rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:.25rem}.pt-lg-2{padding-block-start:.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg--2{padding-inline-end:-.5rem}.pe-lg--1{padding-inline-end:-.25rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:.25rem}.pe-lg-2{padding-inline-end:.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg--2{padding-block-end:-.5rem}.pb-lg--1{padding-block-end:-.25rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:.25rem}.pb-lg-2{padding-block-end:.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg--2{padding-inline-start:-.5rem}.ps-lg--1{padding-inline-start:-.25rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:.25rem}.ps-lg-2{padding-inline-start:.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}}@media (width>=1280px){.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch stretch}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl--2{margin:-.5rem}.m-xl--1{margin:-.25rem}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl--2{margin-inline:-.5rem}.mx-xl--1{margin-inline:-.25rem}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:.25rem}.mx-xl-2{margin-inline:.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl--2{margin-block:-.5rem}.my-xl--1{margin-block:-.25rem}.my-xl-0{margin-block:0}.my-xl-1{margin-block:.25rem}.my-xl-2{margin-block:.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl--2{margin-block-start:-.5rem}.mt-xl--1{margin-block-start:-.25rem}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:.25rem}.mt-xl-2{margin-block-start:.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl--2{margin-inline-end:-.5rem}.me-xl--1{margin-inline-end:-.25rem}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl--2{margin-block-end:-.5rem}.mb-xl--1{margin-block-end:-.25rem}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:.25rem}.mb-xl-2{margin-block-end:.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl--2{margin-inline-start:-.5rem}.ms-xl--1{margin-inline-start:-.25rem}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl-auto{margin-inline-start:auto}.p-xl--2{padding:-.5rem}.p-xl--1{padding:-.25rem}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl--2{padding-inline:-.5rem}.px-xl--1{padding-inline:-.25rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:.25rem}.px-xl-2{padding-inline:.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl--2{padding-block:-.5rem}.py-xl--1{padding-block:-.25rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:.25rem}.py-xl-2{padding-block:.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl--2{padding-block-start:-.5rem}.pt-xl--1{padding-block-start:-.25rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:.25rem}.pt-xl-2{padding-block-start:.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl--2{padding-inline-end:-.5rem}.pe-xl--1{padding-inline-end:-.25rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:.25rem}.pe-xl-2{padding-inline-end:.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl--2{padding-block-end:-.5rem}.pb-xl--1{padding-block-end:-.25rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:.25rem}.pb-xl-2{padding-block-end:.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl--2{padding-inline-start:-.5rem}.ps-xl--1{padding-inline-start:-.25rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:.25rem}.ps-xl-2{padding-inline-start:.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}}@media (width>=1536px){.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch stretch}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl--2{margin:-.5rem}.m-2xl--1{margin:-.25rem}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl--2{margin-inline:-.5rem}.mx-2xl--1{margin-inline:-.25rem}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:.25rem}.mx-2xl-2{margin-inline:.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl--2{margin-block:-.5rem}.my-2xl--1{margin-block:-.25rem}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:.25rem}.my-2xl-2{margin-block:.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl--2{margin-block-start:-.5rem}.mt-2xl--1{margin-block-start:-.25rem}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:.25rem}.mt-2xl-2{margin-block-start:.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl--2{margin-inline-end:-.5rem}.me-2xl--1{margin-inline-end:-.25rem}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl--2{margin-block-end:-.5rem}.mb-2xl--1{margin-block-end:-.25rem}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:.25rem}.mb-2xl-2{margin-block-end:.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl--2{margin-inline-start:-.5rem}.ms-2xl--1{margin-inline-start:-.25rem}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl--2{padding:-.5rem}.p-2xl--1{padding:-.25rem}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl--2{padding-inline:-.5rem}.px-2xl--1{padding-inline:-.25rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:.25rem}.px-2xl-2{padding-inline:.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl--2{padding-block:-.5rem}.py-2xl--1{padding-block:-.25rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:.25rem}.py-2xl-2{padding-block:.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl--2{padding-block-start:-.5rem}.pt-2xl--1{padding-block-start:-.25rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:.25rem}.pt-2xl-2{padding-block-start:.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl--2{padding-inline-end:-.5rem}.pe-2xl--1{padding-inline-end:-.25rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:.25rem}.pe-2xl-2{padding-inline-end:.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl--2{padding-block-end:-.5rem}.pb-2xl--1{padding-block-end:-.25rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:.25rem}.pb-2xl-2{padding-block-end:.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl--2{padding-inline-start:-.5rem}.ps-2xl--1{padding-inline-start:-.25rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:.25rem}.ps-2xl-2{padding-inline-start:.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}}} +@layer layout{.container,.container-fluid,.container-2xl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x)*.5);margin-inline:auto}@media (width>=576px){.container-sm,.container{max-width:540px}}@media (width>=768px){.container-md,.container-sm,.container{max-width:720px}}@media (width>=1024px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (width>=1280px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1200px}}@media (width>=1536px){.container-2xl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5*var(--bs-gutter-x));margin-top:calc(-1*var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g--2,.gx--2{--bs-gutter-x:-.5rem}.g--2,.gy--2{--bs-gutter-y:-.5rem}.g--1,.gx--1{--bs-gutter-x:-.25rem}.g--1,.gy--1{--bs-gutter-y:-.25rem}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (width>=576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.3333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.6667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333%}.col-sm-2{flex:none;width:16.6667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.3333%}.col-sm-5{flex:none;width:41.6667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.3333%}.col-sm-8{flex:none;width:66.6667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.3333%}.col-sm-11{flex:none;width:91.6667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-inline-start:0}.offset-sm-1{margin-inline-start:8.33333%}.offset-sm-2{margin-inline-start:16.6667%}.offset-sm-3{margin-inline-start:25%}.offset-sm-4{margin-inline-start:33.3333%}.offset-sm-5{margin-inline-start:41.6667%}.offset-sm-6{margin-inline-start:50%}.offset-sm-7{margin-inline-start:58.3333%}.offset-sm-8{margin-inline-start:66.6667%}.offset-sm-9{margin-inline-start:75%}.offset-sm-10{margin-inline-start:83.3333%}.offset-sm-11{margin-inline-start:91.6667%}.g-sm--2,.gx-sm--2{--bs-gutter-x:-.5rem}.g-sm--2,.gy-sm--2{--bs-gutter-y:-.5rem}.g-sm--1,.gx-sm--1{--bs-gutter-x:-.25rem}.g-sm--1,.gy-sm--1{--bs-gutter-y:-.25rem}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (width>=768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.3333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.6667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333%}.col-md-2{flex:none;width:16.6667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.3333%}.col-md-5{flex:none;width:41.6667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.3333%}.col-md-8{flex:none;width:66.6667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.3333%}.col-md-11{flex:none;width:91.6667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-inline-start:0}.offset-md-1{margin-inline-start:8.33333%}.offset-md-2{margin-inline-start:16.6667%}.offset-md-3{margin-inline-start:25%}.offset-md-4{margin-inline-start:33.3333%}.offset-md-5{margin-inline-start:41.6667%}.offset-md-6{margin-inline-start:50%}.offset-md-7{margin-inline-start:58.3333%}.offset-md-8{margin-inline-start:66.6667%}.offset-md-9{margin-inline-start:75%}.offset-md-10{margin-inline-start:83.3333%}.offset-md-11{margin-inline-start:91.6667%}.g-md--2,.gx-md--2{--bs-gutter-x:-.5rem}.g-md--2,.gy-md--2{--bs-gutter-y:-.5rem}.g-md--1,.gx-md--1{--bs-gutter-x:-.25rem}.g-md--1,.gy-md--1{--bs-gutter-y:-.25rem}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (width>=1024px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.3333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.6667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333%}.col-lg-2{flex:none;width:16.6667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.3333%}.col-lg-5{flex:none;width:41.6667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.3333%}.col-lg-8{flex:none;width:66.6667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.3333%}.col-lg-11{flex:none;width:91.6667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-inline-start:0}.offset-lg-1{margin-inline-start:8.33333%}.offset-lg-2{margin-inline-start:16.6667%}.offset-lg-3{margin-inline-start:25%}.offset-lg-4{margin-inline-start:33.3333%}.offset-lg-5{margin-inline-start:41.6667%}.offset-lg-6{margin-inline-start:50%}.offset-lg-7{margin-inline-start:58.3333%}.offset-lg-8{margin-inline-start:66.6667%}.offset-lg-9{margin-inline-start:75%}.offset-lg-10{margin-inline-start:83.3333%}.offset-lg-11{margin-inline-start:91.6667%}.g-lg--2,.gx-lg--2{--bs-gutter-x:-.5rem}.g-lg--2,.gy-lg--2{--bs-gutter-y:-.5rem}.g-lg--1,.gx-lg--1{--bs-gutter-x:-.25rem}.g-lg--1,.gy-lg--1{--bs-gutter-y:-.25rem}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (width>=1280px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.3333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.6667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333%}.col-xl-2{flex:none;width:16.6667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.3333%}.col-xl-5{flex:none;width:41.6667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.3333%}.col-xl-8{flex:none;width:66.6667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.3333%}.col-xl-11{flex:none;width:91.6667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-inline-start:0}.offset-xl-1{margin-inline-start:8.33333%}.offset-xl-2{margin-inline-start:16.6667%}.offset-xl-3{margin-inline-start:25%}.offset-xl-4{margin-inline-start:33.3333%}.offset-xl-5{margin-inline-start:41.6667%}.offset-xl-6{margin-inline-start:50%}.offset-xl-7{margin-inline-start:58.3333%}.offset-xl-8{margin-inline-start:66.6667%}.offset-xl-9{margin-inline-start:75%}.offset-xl-10{margin-inline-start:83.3333%}.offset-xl-11{margin-inline-start:91.6667%}.g-xl--2,.gx-xl--2{--bs-gutter-x:-.5rem}.g-xl--2,.gy-xl--2{--bs-gutter-y:-.5rem}.g-xl--1,.gx-xl--1{--bs-gutter-x:-.25rem}.g-xl--1,.gy-xl--1{--bs-gutter-y:-.25rem}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (width>=1536px){.col-2xl{flex:1 0 0}.row-cols-2xl-auto>*{flex:none;width:auto}.row-cols-2xl-1>*{flex:none;width:100%}.row-cols-2xl-2>*{flex:none;width:50%}.row-cols-2xl-3>*{flex:none;width:33.3333%}.row-cols-2xl-4>*{flex:none;width:25%}.row-cols-2xl-5>*{flex:none;width:20%}.row-cols-2xl-6>*{flex:none;width:16.6667%}.col-2xl-auto{flex:none;width:auto}.col-2xl-1{flex:none;width:8.33333%}.col-2xl-2{flex:none;width:16.6667%}.col-2xl-3{flex:none;width:25%}.col-2xl-4{flex:none;width:33.3333%}.col-2xl-5{flex:none;width:41.6667%}.col-2xl-6{flex:none;width:50%}.col-2xl-7{flex:none;width:58.3333%}.col-2xl-8{flex:none;width:66.6667%}.col-2xl-9{flex:none;width:75%}.col-2xl-10{flex:none;width:83.3333%}.col-2xl-11{flex:none;width:91.6667%}.col-2xl-12{flex:none;width:100%}.offset-2xl-0{margin-inline-start:0}.offset-2xl-1{margin-inline-start:8.33333%}.offset-2xl-2{margin-inline-start:16.6667%}.offset-2xl-3{margin-inline-start:25%}.offset-2xl-4{margin-inline-start:33.3333%}.offset-2xl-5{margin-inline-start:41.6667%}.offset-2xl-6{margin-inline-start:50%}.offset-2xl-7{margin-inline-start:58.3333%}.offset-2xl-8{margin-inline-start:66.6667%}.offset-2xl-9{margin-inline-start:75%}.offset-2xl-10{margin-inline-start:83.3333%}.offset-2xl-11{margin-inline-start:91.6667%}.g-2xl--2,.gx-2xl--2{--bs-gutter-x:-.5rem}.g-2xl--2,.gy-2xl--2{--bs-gutter-y:-.5rem}.g-2xl--1,.gx-2xl--1{--bs-gutter-x:-.25rem}.g-2xl--1,.gy-2xl--1{--bs-gutter-y:-.25rem}.g-2xl-0,.gx-2xl-0{--bs-gutter-x:0}.g-2xl-0,.gy-2xl-0{--bs-gutter-y:0}.g-2xl-1,.gx-2xl-1{--bs-gutter-x:.25rem}.g-2xl-1,.gy-2xl-1{--bs-gutter-y:.25rem}.g-2xl-2,.gx-2xl-2{--bs-gutter-x:.5rem}.g-2xl-2,.gy-2xl-2{--bs-gutter-y:.5rem}.g-2xl-3,.gx-2xl-3{--bs-gutter-x:1rem}.g-2xl-3,.gy-2xl-3{--bs-gutter-y:1rem}.g-2xl-4,.gx-2xl-4{--bs-gutter-x:1.5rem}.g-2xl-4,.gy-2xl-4{--bs-gutter-y:1.5rem}.g-2xl-5,.gx-2xl-5{--bs-gutter-x:3rem}.g-2xl-5,.gy-2xl-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows),1fr);grid-template-columns:repeat(var(--bs-columns),1fr);gap:var(--bs-gap);display:grid}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (width>=576px){.g-col-sm-1{grid-column:auto/span 1}.g-col-sm-2{grid-column:auto/span 2}.g-col-sm-3{grid-column:auto/span 3}.g-col-sm-4{grid-column:auto/span 4}.g-col-sm-5{grid-column:auto/span 5}.g-col-sm-6{grid-column:auto/span 6}.g-col-sm-7{grid-column:auto/span 7}.g-col-sm-8{grid-column:auto/span 8}.g-col-sm-9{grid-column:auto/span 9}.g-col-sm-10{grid-column:auto/span 10}.g-col-sm-11{grid-column:auto/span 11}.g-col-sm-12{grid-column:auto/span 12}.g-start-sm-1{grid-column-start:1}.g-start-sm-2{grid-column-start:2}.g-start-sm-3{grid-column-start:3}.g-start-sm-4{grid-column-start:4}.g-start-sm-5{grid-column-start:5}.g-start-sm-6{grid-column-start:6}.g-start-sm-7{grid-column-start:7}.g-start-sm-8{grid-column-start:8}.g-start-sm-9{grid-column-start:9}.g-start-sm-10{grid-column-start:10}.g-start-sm-11{grid-column-start:11}}@media (width>=768px){.g-col-md-1{grid-column:auto/span 1}.g-col-md-2{grid-column:auto/span 2}.g-col-md-3{grid-column:auto/span 3}.g-col-md-4{grid-column:auto/span 4}.g-col-md-5{grid-column:auto/span 5}.g-col-md-6{grid-column:auto/span 6}.g-col-md-7{grid-column:auto/span 7}.g-col-md-8{grid-column:auto/span 8}.g-col-md-9{grid-column:auto/span 9}.g-col-md-10{grid-column:auto/span 10}.g-col-md-11{grid-column:auto/span 11}.g-col-md-12{grid-column:auto/span 12}.g-start-md-1{grid-column-start:1}.g-start-md-2{grid-column-start:2}.g-start-md-3{grid-column-start:3}.g-start-md-4{grid-column-start:4}.g-start-md-5{grid-column-start:5}.g-start-md-6{grid-column-start:6}.g-start-md-7{grid-column-start:7}.g-start-md-8{grid-column-start:8}.g-start-md-9{grid-column-start:9}.g-start-md-10{grid-column-start:10}.g-start-md-11{grid-column-start:11}}@media (width>=1024px){.g-col-lg-1{grid-column:auto/span 1}.g-col-lg-2{grid-column:auto/span 2}.g-col-lg-3{grid-column:auto/span 3}.g-col-lg-4{grid-column:auto/span 4}.g-col-lg-5{grid-column:auto/span 5}.g-col-lg-6{grid-column:auto/span 6}.g-col-lg-7{grid-column:auto/span 7}.g-col-lg-8{grid-column:auto/span 8}.g-col-lg-9{grid-column:auto/span 9}.g-col-lg-10{grid-column:auto/span 10}.g-col-lg-11{grid-column:auto/span 11}.g-col-lg-12{grid-column:auto/span 12}.g-start-lg-1{grid-column-start:1}.g-start-lg-2{grid-column-start:2}.g-start-lg-3{grid-column-start:3}.g-start-lg-4{grid-column-start:4}.g-start-lg-5{grid-column-start:5}.g-start-lg-6{grid-column-start:6}.g-start-lg-7{grid-column-start:7}.g-start-lg-8{grid-column-start:8}.g-start-lg-9{grid-column-start:9}.g-start-lg-10{grid-column-start:10}.g-start-lg-11{grid-column-start:11}}@media (width>=1280px){.g-col-xl-1{grid-column:auto/span 1}.g-col-xl-2{grid-column:auto/span 2}.g-col-xl-3{grid-column:auto/span 3}.g-col-xl-4{grid-column:auto/span 4}.g-col-xl-5{grid-column:auto/span 5}.g-col-xl-6{grid-column:auto/span 6}.g-col-xl-7{grid-column:auto/span 7}.g-col-xl-8{grid-column:auto/span 8}.g-col-xl-9{grid-column:auto/span 9}.g-col-xl-10{grid-column:auto/span 10}.g-col-xl-11{grid-column:auto/span 11}.g-col-xl-12{grid-column:auto/span 12}.g-start-xl-1{grid-column-start:1}.g-start-xl-2{grid-column-start:2}.g-start-xl-3{grid-column-start:3}.g-start-xl-4{grid-column-start:4}.g-start-xl-5{grid-column-start:5}.g-start-xl-6{grid-column-start:6}.g-start-xl-7{grid-column-start:7}.g-start-xl-8{grid-column-start:8}.g-start-xl-9{grid-column-start:9}.g-start-xl-10{grid-column-start:10}.g-start-xl-11{grid-column-start:11}}@media (width>=1536px){.g-col-2xl-1{grid-column:auto/span 1}.g-col-2xl-2{grid-column:auto/span 2}.g-col-2xl-3{grid-column:auto/span 3}.g-col-2xl-4{grid-column:auto/span 4}.g-col-2xl-5{grid-column:auto/span 5}.g-col-2xl-6{grid-column:auto/span 6}.g-col-2xl-7{grid-column:auto/span 7}.g-col-2xl-8{grid-column:auto/span 8}.g-col-2xl-9{grid-column:auto/span 9}.g-col-2xl-10{grid-column:auto/span 10}.g-col-2xl-11{grid-column:auto/span 11}.g-col-2xl-12{grid-column:auto/span 12}.g-start-2xl-1{grid-column-start:1}.g-start-2xl-2{grid-column-start:2}.g-start-2xl-3{grid-column-start:3}.g-start-2xl-4{grid-column-start:4}.g-start-2xl-5{grid-column-start:5}.g-start-2xl-6{grid-column-start:6}.g-start-2xl-7{grid-column-start:7}.g-start-2xl-8{grid-column-start:8}.g-start-2xl-9{grid-column-start:9}.g-start-2xl-10{grid-column-start:10}.g-start-2xl-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}@layer utilities{.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch stretch}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m--2{margin:-.5rem}.m--1{margin:-.25rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx--2{margin-inline:-.5rem}.mx--1{margin-inline:-.25rem}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my--2{margin-block:-.5rem}.my--1{margin-block:-.25rem}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt--2{margin-block-start:-.5rem}.mt--1{margin-block-start:-.25rem}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me--2{margin-inline-end:-.5rem}.me--1{margin-inline-end:-.25rem}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb--2{margin-block-end:-.5rem}.mb--1{margin-block-end:-.25rem}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms--2{margin-inline-start:-.5rem}.ms--1{margin-inline-start:-.25rem}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms-auto{margin-inline-start:auto}.p--2{padding:-.5rem}.p--1{padding:-.25rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px--2{padding-inline:-.5rem}.px--1{padding-inline:-.25rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py--2{padding-block:-.5rem}.py--1{padding-block:-.25rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt--2{padding-block-start:-.5rem}.pt--1{padding-block-start:-.25rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe--2{padding-inline-end:-.5rem}.pe--1{padding-inline-end:-.25rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb--2{padding-block-end:-.5rem}.pb--1{padding-block-end:-.25rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps--2{padding-inline-start:-.5rem}.ps--1{padding-inline-start:-.25rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}@media (width>=576px){.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-inline-grid{display:inline-grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.d-sm-contents{display:contents}.d-sm-flow-root{display:flow-root}.d-sm-none{display:none}.flex-sm-fill{flex:auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.justify-items-sm-start{justify-items:start}.justify-items-sm-end{justify-items:end}.justify-items-sm-center{justify-items:center}.justify-items-sm-stretch{justify-items:stretch}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.place-items-sm-start{place-items:start}.place-items-sm-end{place-items:end}.place-items-sm-center{place-items:center}.place-items-sm-stretch{place-items:stretch stretch}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm--2{margin:-.5rem}.m-sm--1{margin:-.25rem}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm--2{margin-inline:-.5rem}.mx-sm--1{margin-inline:-.25rem}.mx-sm-0{margin-inline:0}.mx-sm-1{margin-inline:.25rem}.mx-sm-2{margin-inline:.5rem}.mx-sm-3{margin-inline:1rem}.mx-sm-4{margin-inline:1.5rem}.mx-sm-5{margin-inline:3rem}.mx-sm-auto{margin-inline:auto}.my-sm--2{margin-block:-.5rem}.my-sm--1{margin-block:-.25rem}.my-sm-0{margin-block:0}.my-sm-1{margin-block:.25rem}.my-sm-2{margin-block:.5rem}.my-sm-3{margin-block:1rem}.my-sm-4{margin-block:1.5rem}.my-sm-5{margin-block:3rem}.my-sm-auto{margin-block:auto}.mt-sm--2{margin-block-start:-.5rem}.mt-sm--1{margin-block-start:-.25rem}.mt-sm-0{margin-block-start:0}.mt-sm-1{margin-block-start:.25rem}.mt-sm-2{margin-block-start:.5rem}.mt-sm-3{margin-block-start:1rem}.mt-sm-4{margin-block-start:1.5rem}.mt-sm-5{margin-block-start:3rem}.mt-sm-auto{margin-block-start:auto}.me-sm--2{margin-inline-end:-.5rem}.me-sm--1{margin-inline-end:-.25rem}.me-sm-0{margin-inline-end:0}.me-sm-1{margin-inline-end:.25rem}.me-sm-2{margin-inline-end:.5rem}.me-sm-3{margin-inline-end:1rem}.me-sm-4{margin-inline-end:1.5rem}.me-sm-5{margin-inline-end:3rem}.me-sm-auto{margin-inline-end:auto}.mb-sm--2{margin-block-end:-.5rem}.mb-sm--1{margin-block-end:-.25rem}.mb-sm-0{margin-block-end:0}.mb-sm-1{margin-block-end:.25rem}.mb-sm-2{margin-block-end:.5rem}.mb-sm-3{margin-block-end:1rem}.mb-sm-4{margin-block-end:1.5rem}.mb-sm-5{margin-block-end:3rem}.mb-sm-auto{margin-block-end:auto}.ms-sm--2{margin-inline-start:-.5rem}.ms-sm--1{margin-inline-start:-.25rem}.ms-sm-0{margin-inline-start:0}.ms-sm-1{margin-inline-start:.25rem}.ms-sm-2{margin-inline-start:.5rem}.ms-sm-3{margin-inline-start:1rem}.ms-sm-4{margin-inline-start:1.5rem}.ms-sm-5{margin-inline-start:3rem}.ms-sm-auto{margin-inline-start:auto}.p-sm--2{padding:-.5rem}.p-sm--1{padding:-.25rem}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm--2{padding-inline:-.5rem}.px-sm--1{padding-inline:-.25rem}.px-sm-0{padding-inline:0}.px-sm-1{padding-inline:.25rem}.px-sm-2{padding-inline:.5rem}.px-sm-3{padding-inline:1rem}.px-sm-4{padding-inline:1.5rem}.px-sm-5{padding-inline:3rem}.py-sm--2{padding-block:-.5rem}.py-sm--1{padding-block:-.25rem}.py-sm-0{padding-block:0}.py-sm-1{padding-block:.25rem}.py-sm-2{padding-block:.5rem}.py-sm-3{padding-block:1rem}.py-sm-4{padding-block:1.5rem}.py-sm-5{padding-block:3rem}.pt-sm--2{padding-block-start:-.5rem}.pt-sm--1{padding-block-start:-.25rem}.pt-sm-0{padding-block-start:0}.pt-sm-1{padding-block-start:.25rem}.pt-sm-2{padding-block-start:.5rem}.pt-sm-3{padding-block-start:1rem}.pt-sm-4{padding-block-start:1.5rem}.pt-sm-5{padding-block-start:3rem}.pe-sm--2{padding-inline-end:-.5rem}.pe-sm--1{padding-inline-end:-.25rem}.pe-sm-0{padding-inline-end:0}.pe-sm-1{padding-inline-end:.25rem}.pe-sm-2{padding-inline-end:.5rem}.pe-sm-3{padding-inline-end:1rem}.pe-sm-4{padding-inline-end:1.5rem}.pe-sm-5{padding-inline-end:3rem}.pb-sm--2{padding-block-end:-.5rem}.pb-sm--1{padding-block-end:-.25rem}.pb-sm-0{padding-block-end:0}.pb-sm-1{padding-block-end:.25rem}.pb-sm-2{padding-block-end:.5rem}.pb-sm-3{padding-block-end:1rem}.pb-sm-4{padding-block-end:1.5rem}.pb-sm-5{padding-block-end:3rem}.ps-sm--2{padding-inline-start:-.5rem}.ps-sm--1{padding-inline-start:-.25rem}.ps-sm-0{padding-inline-start:0}.ps-sm-1{padding-inline-start:.25rem}.ps-sm-2{padding-inline-start:.5rem}.ps-sm-3{padding-inline-start:1rem}.ps-sm-4{padding-inline-start:1.5rem}.ps-sm-5{padding-inline-start:3rem}}@media (width>=768px){.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-inline-grid{display:inline-grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.d-md-contents{display:contents}.d-md-flow-root{display:flow-root}.d-md-none{display:none}.flex-md-fill{flex:auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.justify-items-md-start{justify-items:start}.justify-items-md-end{justify-items:end}.justify-items-md-center{justify-items:center}.justify-items-md-stretch{justify-items:stretch}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.place-items-md-start{place-items:start}.place-items-md-end{place-items:end}.place-items-md-center{place-items:center}.place-items-md-stretch{place-items:stretch stretch}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md--2{margin:-.5rem}.m-md--1{margin:-.25rem}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md--2{margin-inline:-.5rem}.mx-md--1{margin-inline:-.25rem}.mx-md-0{margin-inline:0}.mx-md-1{margin-inline:.25rem}.mx-md-2{margin-inline:.5rem}.mx-md-3{margin-inline:1rem}.mx-md-4{margin-inline:1.5rem}.mx-md-5{margin-inline:3rem}.mx-md-auto{margin-inline:auto}.my-md--2{margin-block:-.5rem}.my-md--1{margin-block:-.25rem}.my-md-0{margin-block:0}.my-md-1{margin-block:.25rem}.my-md-2{margin-block:.5rem}.my-md-3{margin-block:1rem}.my-md-4{margin-block:1.5rem}.my-md-5{margin-block:3rem}.my-md-auto{margin-block:auto}.mt-md--2{margin-block-start:-.5rem}.mt-md--1{margin-block-start:-.25rem}.mt-md-0{margin-block-start:0}.mt-md-1{margin-block-start:.25rem}.mt-md-2{margin-block-start:.5rem}.mt-md-3{margin-block-start:1rem}.mt-md-4{margin-block-start:1.5rem}.mt-md-5{margin-block-start:3rem}.mt-md-auto{margin-block-start:auto}.me-md--2{margin-inline-end:-.5rem}.me-md--1{margin-inline-end:-.25rem}.me-md-0{margin-inline-end:0}.me-md-1{margin-inline-end:.25rem}.me-md-2{margin-inline-end:.5rem}.me-md-3{margin-inline-end:1rem}.me-md-4{margin-inline-end:1.5rem}.me-md-5{margin-inline-end:3rem}.me-md-auto{margin-inline-end:auto}.mb-md--2{margin-block-end:-.5rem}.mb-md--1{margin-block-end:-.25rem}.mb-md-0{margin-block-end:0}.mb-md-1{margin-block-end:.25rem}.mb-md-2{margin-block-end:.5rem}.mb-md-3{margin-block-end:1rem}.mb-md-4{margin-block-end:1.5rem}.mb-md-5{margin-block-end:3rem}.mb-md-auto{margin-block-end:auto}.ms-md--2{margin-inline-start:-.5rem}.ms-md--1{margin-inline-start:-.25rem}.ms-md-0{margin-inline-start:0}.ms-md-1{margin-inline-start:.25rem}.ms-md-2{margin-inline-start:.5rem}.ms-md-3{margin-inline-start:1rem}.ms-md-4{margin-inline-start:1.5rem}.ms-md-5{margin-inline-start:3rem}.ms-md-auto{margin-inline-start:auto}.p-md--2{padding:-.5rem}.p-md--1{padding:-.25rem}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md--2{padding-inline:-.5rem}.px-md--1{padding-inline:-.25rem}.px-md-0{padding-inline:0}.px-md-1{padding-inline:.25rem}.px-md-2{padding-inline:.5rem}.px-md-3{padding-inline:1rem}.px-md-4{padding-inline:1.5rem}.px-md-5{padding-inline:3rem}.py-md--2{padding-block:-.5rem}.py-md--1{padding-block:-.25rem}.py-md-0{padding-block:0}.py-md-1{padding-block:.25rem}.py-md-2{padding-block:.5rem}.py-md-3{padding-block:1rem}.py-md-4{padding-block:1.5rem}.py-md-5{padding-block:3rem}.pt-md--2{padding-block-start:-.5rem}.pt-md--1{padding-block-start:-.25rem}.pt-md-0{padding-block-start:0}.pt-md-1{padding-block-start:.25rem}.pt-md-2{padding-block-start:.5rem}.pt-md-3{padding-block-start:1rem}.pt-md-4{padding-block-start:1.5rem}.pt-md-5{padding-block-start:3rem}.pe-md--2{padding-inline-end:-.5rem}.pe-md--1{padding-inline-end:-.25rem}.pe-md-0{padding-inline-end:0}.pe-md-1{padding-inline-end:.25rem}.pe-md-2{padding-inline-end:.5rem}.pe-md-3{padding-inline-end:1rem}.pe-md-4{padding-inline-end:1.5rem}.pe-md-5{padding-inline-end:3rem}.pb-md--2{padding-block-end:-.5rem}.pb-md--1{padding-block-end:-.25rem}.pb-md-0{padding-block-end:0}.pb-md-1{padding-block-end:.25rem}.pb-md-2{padding-block-end:.5rem}.pb-md-3{padding-block-end:1rem}.pb-md-4{padding-block-end:1.5rem}.pb-md-5{padding-block-end:3rem}.ps-md--2{padding-inline-start:-.5rem}.ps-md--1{padding-inline-start:-.25rem}.ps-md-0{padding-inline-start:0}.ps-md-1{padding-inline-start:.25rem}.ps-md-2{padding-inline-start:.5rem}.ps-md-3{padding-inline-start:1rem}.ps-md-4{padding-inline-start:1.5rem}.ps-md-5{padding-inline-start:3rem}}@media (width>=1024px){.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-inline-grid{display:inline-grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.d-lg-contents{display:contents}.d-lg-flow-root{display:flow-root}.d-lg-none{display:none}.flex-lg-fill{flex:auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.justify-items-lg-start{justify-items:start}.justify-items-lg-end{justify-items:end}.justify-items-lg-center{justify-items:center}.justify-items-lg-stretch{justify-items:stretch}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.place-items-lg-start{place-items:start}.place-items-lg-end{place-items:end}.place-items-lg-center{place-items:center}.place-items-lg-stretch{place-items:stretch stretch}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg--2{margin:-.5rem}.m-lg--1{margin:-.25rem}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg--2{margin-inline:-.5rem}.mx-lg--1{margin-inline:-.25rem}.mx-lg-0{margin-inline:0}.mx-lg-1{margin-inline:.25rem}.mx-lg-2{margin-inline:.5rem}.mx-lg-3{margin-inline:1rem}.mx-lg-4{margin-inline:1.5rem}.mx-lg-5{margin-inline:3rem}.mx-lg-auto{margin-inline:auto}.my-lg--2{margin-block:-.5rem}.my-lg--1{margin-block:-.25rem}.my-lg-0{margin-block:0}.my-lg-1{margin-block:.25rem}.my-lg-2{margin-block:.5rem}.my-lg-3{margin-block:1rem}.my-lg-4{margin-block:1.5rem}.my-lg-5{margin-block:3rem}.my-lg-auto{margin-block:auto}.mt-lg--2{margin-block-start:-.5rem}.mt-lg--1{margin-block-start:-.25rem}.mt-lg-0{margin-block-start:0}.mt-lg-1{margin-block-start:.25rem}.mt-lg-2{margin-block-start:.5rem}.mt-lg-3{margin-block-start:1rem}.mt-lg-4{margin-block-start:1.5rem}.mt-lg-5{margin-block-start:3rem}.mt-lg-auto{margin-block-start:auto}.me-lg--2{margin-inline-end:-.5rem}.me-lg--1{margin-inline-end:-.25rem}.me-lg-0{margin-inline-end:0}.me-lg-1{margin-inline-end:.25rem}.me-lg-2{margin-inline-end:.5rem}.me-lg-3{margin-inline-end:1rem}.me-lg-4{margin-inline-end:1.5rem}.me-lg-5{margin-inline-end:3rem}.me-lg-auto{margin-inline-end:auto}.mb-lg--2{margin-block-end:-.5rem}.mb-lg--1{margin-block-end:-.25rem}.mb-lg-0{margin-block-end:0}.mb-lg-1{margin-block-end:.25rem}.mb-lg-2{margin-block-end:.5rem}.mb-lg-3{margin-block-end:1rem}.mb-lg-4{margin-block-end:1.5rem}.mb-lg-5{margin-block-end:3rem}.mb-lg-auto{margin-block-end:auto}.ms-lg--2{margin-inline-start:-.5rem}.ms-lg--1{margin-inline-start:-.25rem}.ms-lg-0{margin-inline-start:0}.ms-lg-1{margin-inline-start:.25rem}.ms-lg-2{margin-inline-start:.5rem}.ms-lg-3{margin-inline-start:1rem}.ms-lg-4{margin-inline-start:1.5rem}.ms-lg-5{margin-inline-start:3rem}.ms-lg-auto{margin-inline-start:auto}.p-lg--2{padding:-.5rem}.p-lg--1{padding:-.25rem}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg--2{padding-inline:-.5rem}.px-lg--1{padding-inline:-.25rem}.px-lg-0{padding-inline:0}.px-lg-1{padding-inline:.25rem}.px-lg-2{padding-inline:.5rem}.px-lg-3{padding-inline:1rem}.px-lg-4{padding-inline:1.5rem}.px-lg-5{padding-inline:3rem}.py-lg--2{padding-block:-.5rem}.py-lg--1{padding-block:-.25rem}.py-lg-0{padding-block:0}.py-lg-1{padding-block:.25rem}.py-lg-2{padding-block:.5rem}.py-lg-3{padding-block:1rem}.py-lg-4{padding-block:1.5rem}.py-lg-5{padding-block:3rem}.pt-lg--2{padding-block-start:-.5rem}.pt-lg--1{padding-block-start:-.25rem}.pt-lg-0{padding-block-start:0}.pt-lg-1{padding-block-start:.25rem}.pt-lg-2{padding-block-start:.5rem}.pt-lg-3{padding-block-start:1rem}.pt-lg-4{padding-block-start:1.5rem}.pt-lg-5{padding-block-start:3rem}.pe-lg--2{padding-inline-end:-.5rem}.pe-lg--1{padding-inline-end:-.25rem}.pe-lg-0{padding-inline-end:0}.pe-lg-1{padding-inline-end:.25rem}.pe-lg-2{padding-inline-end:.5rem}.pe-lg-3{padding-inline-end:1rem}.pe-lg-4{padding-inline-end:1.5rem}.pe-lg-5{padding-inline-end:3rem}.pb-lg--2{padding-block-end:-.5rem}.pb-lg--1{padding-block-end:-.25rem}.pb-lg-0{padding-block-end:0}.pb-lg-1{padding-block-end:.25rem}.pb-lg-2{padding-block-end:.5rem}.pb-lg-3{padding-block-end:1rem}.pb-lg-4{padding-block-end:1.5rem}.pb-lg-5{padding-block-end:3rem}.ps-lg--2{padding-inline-start:-.5rem}.ps-lg--1{padding-inline-start:-.25rem}.ps-lg-0{padding-inline-start:0}.ps-lg-1{padding-inline-start:.25rem}.ps-lg-2{padding-inline-start:.5rem}.ps-lg-3{padding-inline-start:1rem}.ps-lg-4{padding-inline-start:1.5rem}.ps-lg-5{padding-inline-start:3rem}}@media (width>=1280px){.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-inline-grid{display:inline-grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.d-xl-contents{display:contents}.d-xl-flow-root{display:flow-root}.d-xl-none{display:none}.flex-xl-fill{flex:auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.justify-items-xl-start{justify-items:start}.justify-items-xl-end{justify-items:end}.justify-items-xl-center{justify-items:center}.justify-items-xl-stretch{justify-items:stretch}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.place-items-xl-start{place-items:start}.place-items-xl-end{place-items:end}.place-items-xl-center{place-items:center}.place-items-xl-stretch{place-items:stretch stretch}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl--2{margin:-.5rem}.m-xl--1{margin:-.25rem}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl--2{margin-inline:-.5rem}.mx-xl--1{margin-inline:-.25rem}.mx-xl-0{margin-inline:0}.mx-xl-1{margin-inline:.25rem}.mx-xl-2{margin-inline:.5rem}.mx-xl-3{margin-inline:1rem}.mx-xl-4{margin-inline:1.5rem}.mx-xl-5{margin-inline:3rem}.mx-xl-auto{margin-inline:auto}.my-xl--2{margin-block:-.5rem}.my-xl--1{margin-block:-.25rem}.my-xl-0{margin-block:0}.my-xl-1{margin-block:.25rem}.my-xl-2{margin-block:.5rem}.my-xl-3{margin-block:1rem}.my-xl-4{margin-block:1.5rem}.my-xl-5{margin-block:3rem}.my-xl-auto{margin-block:auto}.mt-xl--2{margin-block-start:-.5rem}.mt-xl--1{margin-block-start:-.25rem}.mt-xl-0{margin-block-start:0}.mt-xl-1{margin-block-start:.25rem}.mt-xl-2{margin-block-start:.5rem}.mt-xl-3{margin-block-start:1rem}.mt-xl-4{margin-block-start:1.5rem}.mt-xl-5{margin-block-start:3rem}.mt-xl-auto{margin-block-start:auto}.me-xl--2{margin-inline-end:-.5rem}.me-xl--1{margin-inline-end:-.25rem}.me-xl-0{margin-inline-end:0}.me-xl-1{margin-inline-end:.25rem}.me-xl-2{margin-inline-end:.5rem}.me-xl-3{margin-inline-end:1rem}.me-xl-4{margin-inline-end:1.5rem}.me-xl-5{margin-inline-end:3rem}.me-xl-auto{margin-inline-end:auto}.mb-xl--2{margin-block-end:-.5rem}.mb-xl--1{margin-block-end:-.25rem}.mb-xl-0{margin-block-end:0}.mb-xl-1{margin-block-end:.25rem}.mb-xl-2{margin-block-end:.5rem}.mb-xl-3{margin-block-end:1rem}.mb-xl-4{margin-block-end:1.5rem}.mb-xl-5{margin-block-end:3rem}.mb-xl-auto{margin-block-end:auto}.ms-xl--2{margin-inline-start:-.5rem}.ms-xl--1{margin-inline-start:-.25rem}.ms-xl-0{margin-inline-start:0}.ms-xl-1{margin-inline-start:.25rem}.ms-xl-2{margin-inline-start:.5rem}.ms-xl-3{margin-inline-start:1rem}.ms-xl-4{margin-inline-start:1.5rem}.ms-xl-5{margin-inline-start:3rem}.ms-xl-auto{margin-inline-start:auto}.p-xl--2{padding:-.5rem}.p-xl--1{padding:-.25rem}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl--2{padding-inline:-.5rem}.px-xl--1{padding-inline:-.25rem}.px-xl-0{padding-inline:0}.px-xl-1{padding-inline:.25rem}.px-xl-2{padding-inline:.5rem}.px-xl-3{padding-inline:1rem}.px-xl-4{padding-inline:1.5rem}.px-xl-5{padding-inline:3rem}.py-xl--2{padding-block:-.5rem}.py-xl--1{padding-block:-.25rem}.py-xl-0{padding-block:0}.py-xl-1{padding-block:.25rem}.py-xl-2{padding-block:.5rem}.py-xl-3{padding-block:1rem}.py-xl-4{padding-block:1.5rem}.py-xl-5{padding-block:3rem}.pt-xl--2{padding-block-start:-.5rem}.pt-xl--1{padding-block-start:-.25rem}.pt-xl-0{padding-block-start:0}.pt-xl-1{padding-block-start:.25rem}.pt-xl-2{padding-block-start:.5rem}.pt-xl-3{padding-block-start:1rem}.pt-xl-4{padding-block-start:1.5rem}.pt-xl-5{padding-block-start:3rem}.pe-xl--2{padding-inline-end:-.5rem}.pe-xl--1{padding-inline-end:-.25rem}.pe-xl-0{padding-inline-end:0}.pe-xl-1{padding-inline-end:.25rem}.pe-xl-2{padding-inline-end:.5rem}.pe-xl-3{padding-inline-end:1rem}.pe-xl-4{padding-inline-end:1.5rem}.pe-xl-5{padding-inline-end:3rem}.pb-xl--2{padding-block-end:-.5rem}.pb-xl--1{padding-block-end:-.25rem}.pb-xl-0{padding-block-end:0}.pb-xl-1{padding-block-end:.25rem}.pb-xl-2{padding-block-end:.5rem}.pb-xl-3{padding-block-end:1rem}.pb-xl-4{padding-block-end:1.5rem}.pb-xl-5{padding-block-end:3rem}.ps-xl--2{padding-inline-start:-.5rem}.ps-xl--1{padding-inline-start:-.25rem}.ps-xl-0{padding-inline-start:0}.ps-xl-1{padding-inline-start:.25rem}.ps-xl-2{padding-inline-start:.5rem}.ps-xl-3{padding-inline-start:1rem}.ps-xl-4{padding-inline-start:1.5rem}.ps-xl-5{padding-inline-start:3rem}}@media (width>=1536px){.d-2xl-inline{display:inline}.d-2xl-inline-block{display:inline-block}.d-2xl-block{display:block}.d-2xl-grid{display:grid}.d-2xl-inline-grid{display:inline-grid}.d-2xl-table{display:table}.d-2xl-table-row{display:table-row}.d-2xl-table-cell{display:table-cell}.d-2xl-flex{display:flex}.d-2xl-inline-flex{display:inline-flex}.d-2xl-contents{display:contents}.d-2xl-flow-root{display:flow-root}.d-2xl-none{display:none}.flex-2xl-fill{flex:auto}.flex-2xl-row{flex-direction:row}.flex-2xl-column{flex-direction:column}.flex-2xl-row-reverse{flex-direction:row-reverse}.flex-2xl-column-reverse{flex-direction:column-reverse}.flex-2xl-grow-0{flex-grow:0}.flex-2xl-grow-1{flex-grow:1}.flex-2xl-shrink-0{flex-shrink:0}.flex-2xl-shrink-1{flex-shrink:1}.flex-2xl-wrap{flex-wrap:wrap}.flex-2xl-nowrap{flex-wrap:nowrap}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-2xl-start{justify-content:flex-start}.justify-content-2xl-end{justify-content:flex-end}.justify-content-2xl-center{justify-content:center}.justify-content-2xl-between{justify-content:space-between}.justify-content-2xl-around{justify-content:space-around}.justify-content-2xl-evenly{justify-content:space-evenly}.justify-items-2xl-start{justify-items:start}.justify-items-2xl-end{justify-items:end}.justify-items-2xl-center{justify-items:center}.justify-items-2xl-stretch{justify-items:stretch}.align-items-2xl-start{align-items:flex-start}.align-items-2xl-end{align-items:flex-end}.align-items-2xl-center{align-items:center}.align-items-2xl-baseline{align-items:baseline}.align-items-2xl-stretch{align-items:stretch}.align-content-2xl-start{align-content:flex-start}.align-content-2xl-end{align-content:flex-end}.align-content-2xl-center{align-content:center}.align-content-2xl-between{align-content:space-between}.align-content-2xl-around{align-content:space-around}.align-content-2xl-stretch{align-content:stretch}.align-self-2xl-auto{align-self:auto}.align-self-2xl-start{align-self:flex-start}.align-self-2xl-end{align-self:flex-end}.align-self-2xl-center{align-self:center}.align-self-2xl-baseline{align-self:baseline}.align-self-2xl-stretch{align-self:stretch}.place-items-2xl-start{place-items:start}.place-items-2xl-end{place-items:end}.place-items-2xl-center{place-items:center}.place-items-2xl-stretch{place-items:stretch stretch}.order-2xl-first{order:-1}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-last{order:6}.m-2xl--2{margin:-.5rem}.m-2xl--1{margin:-.25rem}.m-2xl-0{margin:0}.m-2xl-1{margin:.25rem}.m-2xl-2{margin:.5rem}.m-2xl-3{margin:1rem}.m-2xl-4{margin:1.5rem}.m-2xl-5{margin:3rem}.m-2xl-auto{margin:auto}.mx-2xl--2{margin-inline:-.5rem}.mx-2xl--1{margin-inline:-.25rem}.mx-2xl-0{margin-inline:0}.mx-2xl-1{margin-inline:.25rem}.mx-2xl-2{margin-inline:.5rem}.mx-2xl-3{margin-inline:1rem}.mx-2xl-4{margin-inline:1.5rem}.mx-2xl-5{margin-inline:3rem}.mx-2xl-auto{margin-inline:auto}.my-2xl--2{margin-block:-.5rem}.my-2xl--1{margin-block:-.25rem}.my-2xl-0{margin-block:0}.my-2xl-1{margin-block:.25rem}.my-2xl-2{margin-block:.5rem}.my-2xl-3{margin-block:1rem}.my-2xl-4{margin-block:1.5rem}.my-2xl-5{margin-block:3rem}.my-2xl-auto{margin-block:auto}.mt-2xl--2{margin-block-start:-.5rem}.mt-2xl--1{margin-block-start:-.25rem}.mt-2xl-0{margin-block-start:0}.mt-2xl-1{margin-block-start:.25rem}.mt-2xl-2{margin-block-start:.5rem}.mt-2xl-3{margin-block-start:1rem}.mt-2xl-4{margin-block-start:1.5rem}.mt-2xl-5{margin-block-start:3rem}.mt-2xl-auto{margin-block-start:auto}.me-2xl--2{margin-inline-end:-.5rem}.me-2xl--1{margin-inline-end:-.25rem}.me-2xl-0{margin-inline-end:0}.me-2xl-1{margin-inline-end:.25rem}.me-2xl-2{margin-inline-end:.5rem}.me-2xl-3{margin-inline-end:1rem}.me-2xl-4{margin-inline-end:1.5rem}.me-2xl-5{margin-inline-end:3rem}.me-2xl-auto{margin-inline-end:auto}.mb-2xl--2{margin-block-end:-.5rem}.mb-2xl--1{margin-block-end:-.25rem}.mb-2xl-0{margin-block-end:0}.mb-2xl-1{margin-block-end:.25rem}.mb-2xl-2{margin-block-end:.5rem}.mb-2xl-3{margin-block-end:1rem}.mb-2xl-4{margin-block-end:1.5rem}.mb-2xl-5{margin-block-end:3rem}.mb-2xl-auto{margin-block-end:auto}.ms-2xl--2{margin-inline-start:-.5rem}.ms-2xl--1{margin-inline-start:-.25rem}.ms-2xl-0{margin-inline-start:0}.ms-2xl-1{margin-inline-start:.25rem}.ms-2xl-2{margin-inline-start:.5rem}.ms-2xl-3{margin-inline-start:1rem}.ms-2xl-4{margin-inline-start:1.5rem}.ms-2xl-5{margin-inline-start:3rem}.ms-2xl-auto{margin-inline-start:auto}.p-2xl--2{padding:-.5rem}.p-2xl--1{padding:-.25rem}.p-2xl-0{padding:0}.p-2xl-1{padding:.25rem}.p-2xl-2{padding:.5rem}.p-2xl-3{padding:1rem}.p-2xl-4{padding:1.5rem}.p-2xl-5{padding:3rem}.px-2xl--2{padding-inline:-.5rem}.px-2xl--1{padding-inline:-.25rem}.px-2xl-0{padding-inline:0}.px-2xl-1{padding-inline:.25rem}.px-2xl-2{padding-inline:.5rem}.px-2xl-3{padding-inline:1rem}.px-2xl-4{padding-inline:1.5rem}.px-2xl-5{padding-inline:3rem}.py-2xl--2{padding-block:-.5rem}.py-2xl--1{padding-block:-.25rem}.py-2xl-0{padding-block:0}.py-2xl-1{padding-block:.25rem}.py-2xl-2{padding-block:.5rem}.py-2xl-3{padding-block:1rem}.py-2xl-4{padding-block:1.5rem}.py-2xl-5{padding-block:3rem}.pt-2xl--2{padding-block-start:-.5rem}.pt-2xl--1{padding-block-start:-.25rem}.pt-2xl-0{padding-block-start:0}.pt-2xl-1{padding-block-start:.25rem}.pt-2xl-2{padding-block-start:.5rem}.pt-2xl-3{padding-block-start:1rem}.pt-2xl-4{padding-block-start:1.5rem}.pt-2xl-5{padding-block-start:3rem}.pe-2xl--2{padding-inline-end:-.5rem}.pe-2xl--1{padding-inline-end:-.25rem}.pe-2xl-0{padding-inline-end:0}.pe-2xl-1{padding-inline-end:.25rem}.pe-2xl-2{padding-inline-end:.5rem}.pe-2xl-3{padding-inline-end:1rem}.pe-2xl-4{padding-inline-end:1.5rem}.pe-2xl-5{padding-inline-end:3rem}.pb-2xl--2{padding-block-end:-.5rem}.pb-2xl--1{padding-block-end:-.25rem}.pb-2xl-0{padding-block-end:0}.pb-2xl-1{padding-block-end:.25rem}.pb-2xl-2{padding-block-end:.5rem}.pb-2xl-3{padding-block-end:1rem}.pb-2xl-4{padding-block-end:1.5rem}.pb-2xl-5{padding-block-end:3rem}.ps-2xl--2{padding-inline-start:-.5rem}.ps-2xl--1{padding-inline-start:-.25rem}.ps-2xl-0{padding-inline-start:0}.ps-2xl-1{padding-inline-start:.25rem}.ps-2xl-2{padding-inline-start:.5rem}.ps-2xl-3{padding-inline-start:1rem}.ps-2xl-4{padding-inline-start:1.5rem}.ps-2xl-5{padding-inline-start:3rem}}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px} /*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-grid.min.css.map b/dist/css/bootstrap-grid.min.css.map index 5c2ad58bf726..d6e634e01a8d 100644 --- a/dist/css/bootstrap-grid.min.css.map +++ b/dist/css/bootstrap-grid.min.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-grid.css","../../scss/_banner.scss","../../scss/layout/_containers.scss","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["/*!\n * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n@layer layout {\n .container,\n .container-fluid,\n .container-2xl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1440px;\n }\n }\n}\n:root {\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g--2,\n .gx--2 {\n --gutter-x: -0.5rem;\n }\n .g--2,\n .gy--2 {\n --gutter-y: -0.5rem;\n }\n .g--1,\n .gx--1 {\n --gutter-x: -0.25rem;\n }\n .g--1,\n .gy--1 {\n --gutter-y: -0.25rem;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-inline-start: 0;\n }\n .offset-sm-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-sm-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-sm-3 {\n margin-inline-start: 25%;\n }\n .offset-sm-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-sm-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-sm-6 {\n margin-inline-start: 50%;\n }\n .offset-sm-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-sm-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-sm-9 {\n margin-inline-start: 75%;\n }\n .offset-sm-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-sm-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-sm--2,\n .gx-sm--2 {\n --gutter-x: -0.5rem;\n }\n .g-sm--2,\n .gy-sm--2 {\n --gutter-y: -0.5rem;\n }\n .g-sm--1,\n .gx-sm--1 {\n --gutter-x: -0.25rem;\n }\n .g-sm--1,\n .gy-sm--1 {\n --gutter-y: -0.25rem;\n }\n .g-sm-0,\n .gx-sm-0 {\n --gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-inline-start: 0;\n }\n .offset-md-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-md-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-md-3 {\n margin-inline-start: 25%;\n }\n .offset-md-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-md-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-md-6 {\n margin-inline-start: 50%;\n }\n .offset-md-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-md-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-md-9 {\n margin-inline-start: 75%;\n }\n .offset-md-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-md-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-md--2,\n .gx-md--2 {\n --gutter-x: -0.5rem;\n }\n .g-md--2,\n .gy-md--2 {\n --gutter-y: -0.5rem;\n }\n .g-md--1,\n .gx-md--1 {\n --gutter-x: -0.25rem;\n }\n .g-md--1,\n .gy-md--1 {\n --gutter-y: -0.25rem;\n }\n .g-md-0,\n .gx-md-0 {\n --gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-inline-start: 0;\n }\n .offset-lg-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-lg-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-lg-3 {\n margin-inline-start: 25%;\n }\n .offset-lg-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-lg-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-lg-6 {\n margin-inline-start: 50%;\n }\n .offset-lg-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-lg-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-lg-9 {\n margin-inline-start: 75%;\n }\n .offset-lg-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-lg-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-lg--2,\n .gx-lg--2 {\n --gutter-x: -0.5rem;\n }\n .g-lg--2,\n .gy-lg--2 {\n --gutter-y: -0.5rem;\n }\n .g-lg--1,\n .gx-lg--1 {\n --gutter-x: -0.25rem;\n }\n .g-lg--1,\n .gy-lg--1 {\n --gutter-y: -0.25rem;\n }\n .g-lg-0,\n .gx-lg-0 {\n --gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-inline-start: 0;\n }\n .offset-xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-xl-3 {\n margin-inline-start: 25%;\n }\n .offset-xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-xl-6 {\n margin-inline-start: 50%;\n }\n .offset-xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-xl-9 {\n margin-inline-start: 75%;\n }\n .offset-xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-xl--2,\n .gx-xl--2 {\n --gutter-x: -0.5rem;\n }\n .g-xl--2,\n .gy-xl--2 {\n --gutter-y: -0.5rem;\n }\n .g-xl--1,\n .gx-xl--1 {\n --gutter-x: -0.25rem;\n }\n .g-xl--1,\n .gy-xl--1 {\n --gutter-y: -0.25rem;\n }\n .g-xl-0,\n .gx-xl-0 {\n --gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .col-2xl {\n flex: 1 0 0;\n }\n .row-cols-2xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-2xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-2xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-2xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-2xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-2xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-2xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-2xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-2xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-2xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-2xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-2xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-2xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-2xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-2xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-2xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-2xl-0 {\n margin-inline-start: 0;\n }\n .offset-2xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-2xl-3 {\n margin-inline-start: 25%;\n }\n .offset-2xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-2xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-2xl-6 {\n margin-inline-start: 50%;\n }\n .offset-2xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-2xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-2xl-9 {\n margin-inline-start: 75%;\n }\n .offset-2xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-2xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-2xl--2,\n .gx-2xl--2 {\n --gutter-x: -0.5rem;\n }\n .g-2xl--2,\n .gy-2xl--2 {\n --gutter-y: -0.5rem;\n }\n .g-2xl--1,\n .gx-2xl--1 {\n --gutter-x: -0.25rem;\n }\n .g-2xl--1,\n .gy-2xl--1 {\n --gutter-y: -0.25rem;\n }\n .g-2xl-0,\n .gx-2xl-0 {\n --gutter-x: 0;\n }\n .g-2xl-0,\n .gy-2xl-0 {\n --gutter-y: 0;\n }\n .g-2xl-1,\n .gx-2xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-2xl-1,\n .gy-2xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-2xl-2,\n .gx-2xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-2xl-2,\n .gy-2xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-2xl-3,\n .gx-2xl-3 {\n --gutter-x: 1rem;\n }\n .g-2xl-3,\n .gy-2xl-3 {\n --gutter-y: 1rem;\n }\n .g-2xl-4,\n .gx-2xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-2xl-4,\n .gy-2xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-2xl-5,\n .gx-2xl-5 {\n --gutter-x: 3rem;\n }\n .g-2xl-5,\n .gy-2xl-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .g-col-sm-1 {\n grid-column: auto/span 1;\n }\n .g-col-sm-2 {\n grid-column: auto/span 2;\n }\n .g-col-sm-3 {\n grid-column: auto/span 3;\n }\n .g-col-sm-4 {\n grid-column: auto/span 4;\n }\n .g-col-sm-5 {\n grid-column: auto/span 5;\n }\n .g-col-sm-6 {\n grid-column: auto/span 6;\n }\n .g-col-sm-7 {\n grid-column: auto/span 7;\n }\n .g-col-sm-8 {\n grid-column: auto/span 8;\n }\n .g-col-sm-9 {\n grid-column: auto/span 9;\n }\n .g-col-sm-10 {\n grid-column: auto/span 10;\n }\n .g-col-sm-11 {\n grid-column: auto/span 11;\n }\n .g-col-sm-12 {\n grid-column: auto/span 12;\n }\n .g-start-sm-1 {\n grid-column-start: 1;\n }\n .g-start-sm-2 {\n grid-column-start: 2;\n }\n .g-start-sm-3 {\n grid-column-start: 3;\n }\n .g-start-sm-4 {\n grid-column-start: 4;\n }\n .g-start-sm-5 {\n grid-column-start: 5;\n }\n .g-start-sm-6 {\n grid-column-start: 6;\n }\n .g-start-sm-7 {\n grid-column-start: 7;\n }\n .g-start-sm-8 {\n grid-column-start: 8;\n }\n .g-start-sm-9 {\n grid-column-start: 9;\n }\n .g-start-sm-10 {\n grid-column-start: 10;\n }\n .g-start-sm-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .g-col-md-1 {\n grid-column: auto/span 1;\n }\n .g-col-md-2 {\n grid-column: auto/span 2;\n }\n .g-col-md-3 {\n grid-column: auto/span 3;\n }\n .g-col-md-4 {\n grid-column: auto/span 4;\n }\n .g-col-md-5 {\n grid-column: auto/span 5;\n }\n .g-col-md-6 {\n grid-column: auto/span 6;\n }\n .g-col-md-7 {\n grid-column: auto/span 7;\n }\n .g-col-md-8 {\n grid-column: auto/span 8;\n }\n .g-col-md-9 {\n grid-column: auto/span 9;\n }\n .g-col-md-10 {\n grid-column: auto/span 10;\n }\n .g-col-md-11 {\n grid-column: auto/span 11;\n }\n .g-col-md-12 {\n grid-column: auto/span 12;\n }\n .g-start-md-1 {\n grid-column-start: 1;\n }\n .g-start-md-2 {\n grid-column-start: 2;\n }\n .g-start-md-3 {\n grid-column-start: 3;\n }\n .g-start-md-4 {\n grid-column-start: 4;\n }\n .g-start-md-5 {\n grid-column-start: 5;\n }\n .g-start-md-6 {\n grid-column-start: 6;\n }\n .g-start-md-7 {\n grid-column-start: 7;\n }\n .g-start-md-8 {\n grid-column-start: 8;\n }\n .g-start-md-9 {\n grid-column-start: 9;\n }\n .g-start-md-10 {\n grid-column-start: 10;\n }\n .g-start-md-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .g-col-lg-1 {\n grid-column: auto/span 1;\n }\n .g-col-lg-2 {\n grid-column: auto/span 2;\n }\n .g-col-lg-3 {\n grid-column: auto/span 3;\n }\n .g-col-lg-4 {\n grid-column: auto/span 4;\n }\n .g-col-lg-5 {\n grid-column: auto/span 5;\n }\n .g-col-lg-6 {\n grid-column: auto/span 6;\n }\n .g-col-lg-7 {\n grid-column: auto/span 7;\n }\n .g-col-lg-8 {\n grid-column: auto/span 8;\n }\n .g-col-lg-9 {\n grid-column: auto/span 9;\n }\n .g-col-lg-10 {\n grid-column: auto/span 10;\n }\n .g-col-lg-11 {\n grid-column: auto/span 11;\n }\n .g-col-lg-12 {\n grid-column: auto/span 12;\n }\n .g-start-lg-1 {\n grid-column-start: 1;\n }\n .g-start-lg-2 {\n grid-column-start: 2;\n }\n .g-start-lg-3 {\n grid-column-start: 3;\n }\n .g-start-lg-4 {\n grid-column-start: 4;\n }\n .g-start-lg-5 {\n grid-column-start: 5;\n }\n .g-start-lg-6 {\n grid-column-start: 6;\n }\n .g-start-lg-7 {\n grid-column-start: 7;\n }\n .g-start-lg-8 {\n grid-column-start: 8;\n }\n .g-start-lg-9 {\n grid-column-start: 9;\n }\n .g-start-lg-10 {\n grid-column-start: 10;\n }\n .g-start-lg-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .g-col-xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-xl-1 {\n grid-column-start: 1;\n }\n .g-start-xl-2 {\n grid-column-start: 2;\n }\n .g-start-xl-3 {\n grid-column-start: 3;\n }\n .g-start-xl-4 {\n grid-column-start: 4;\n }\n .g-start-xl-5 {\n grid-column-start: 5;\n }\n .g-start-xl-6 {\n grid-column-start: 6;\n }\n .g-start-xl-7 {\n grid-column-start: 7;\n }\n .g-start-xl-8 {\n grid-column-start: 8;\n }\n .g-start-xl-9 {\n grid-column-start: 9;\n }\n .g-start-xl-10 {\n grid-column-start: 10;\n }\n .g-start-xl-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .g-col-2xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-2xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-2xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-2xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-2xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-2xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-2xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-2xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-2xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-2xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-2xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-2xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-2xl-1 {\n grid-column-start: 1;\n }\n .g-start-2xl-2 {\n grid-column-start: 2;\n }\n .g-start-2xl-3 {\n grid-column-start: 3;\n }\n .g-start-2xl-4 {\n grid-column-start: 4;\n }\n .g-start-2xl-5 {\n grid-column-start: 5;\n }\n .g-start-2xl-6 {\n grid-column-start: 6;\n }\n .g-start-2xl-7 {\n grid-column-start: 7;\n }\n .g-start-2xl-8 {\n grid-column-start: 8;\n }\n .g-start-2xl-9 {\n grid-column-start: 9;\n }\n .g-start-2xl-10 {\n grid-column-start: 10;\n }\n .g-start-2xl-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer utilities {\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .order-first {\n order: -1;\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-last {\n order: 6;\n }\n .m--2 {\n margin: -0.5rem;\n }\n .m--1 {\n margin: -0.25rem;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx--2 {\n margin-inline: -0.5rem;\n }\n .mx--1 {\n margin-inline: -0.25rem;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my--2 {\n margin-block: -0.5rem;\n }\n .my--1 {\n margin-block: -0.25rem;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt--2 {\n margin-block-start: -0.5rem;\n }\n .mt--1 {\n margin-block-start: -0.25rem;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me--2 {\n margin-inline-end: -0.5rem;\n }\n .me--1 {\n margin-inline-end: -0.25rem;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb--2 {\n margin-block-end: -0.5rem;\n }\n .mb--1 {\n margin-block-end: -0.25rem;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p--2 {\n padding: -0.5rem;\n }\n .p--1 {\n padding: -0.25rem;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px--2 {\n padding-inline: -0.5rem;\n }\n .px--1 {\n padding-inline: -0.25rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py--2 {\n padding-block: -0.5rem;\n }\n .py--1 {\n padding-block: -0.25rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt--2 {\n padding-block-start: -0.5rem;\n }\n .pt--1 {\n padding-block-start: -0.25rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe--2 {\n padding-inline-end: -0.5rem;\n }\n .pe--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb--2 {\n padding-block-end: -0.5rem;\n }\n .pb--1 {\n padding-block-end: -0.25rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps--2 {\n padding-inline-start: -0.5rem;\n }\n .ps--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n @media (width >= 576px) {\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm--2 {\n margin: -0.5rem;\n }\n .m-sm--1 {\n margin: -0.25rem;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm--2 {\n margin-inline: -0.5rem;\n }\n .mx-sm--1 {\n margin-inline: -0.25rem;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm--2 {\n margin-block: -0.5rem;\n }\n .my-sm--1 {\n margin-block: -0.25rem;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm--2 {\n margin-block-start: -0.5rem;\n }\n .mt-sm--1 {\n margin-block-start: -0.25rem;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm--2 {\n margin-inline-end: -0.5rem;\n }\n .me-sm--1 {\n margin-inline-end: -0.25rem;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm--2 {\n margin-block-end: -0.5rem;\n }\n .mb-sm--1 {\n margin-block-end: -0.25rem;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm--2 {\n padding: -0.5rem;\n }\n .p-sm--1 {\n padding: -0.25rem;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm--2 {\n padding-inline: -0.5rem;\n }\n .px-sm--1 {\n padding-inline: -0.25rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm--2 {\n padding-block: -0.5rem;\n }\n .py-sm--1 {\n padding-block: -0.25rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm--2 {\n padding-block-start: -0.5rem;\n }\n .pt-sm--1 {\n padding-block-start: -0.25rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-sm--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm--2 {\n padding-block-end: -0.5rem;\n }\n .pb-sm--1 {\n padding-block-end: -0.25rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-sm--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 768px) {\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md--2 {\n margin: -0.5rem;\n }\n .m-md--1 {\n margin: -0.25rem;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md--2 {\n margin-inline: -0.5rem;\n }\n .mx-md--1 {\n margin-inline: -0.25rem;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md--2 {\n margin-block: -0.5rem;\n }\n .my-md--1 {\n margin-block: -0.25rem;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md--2 {\n margin-block-start: -0.5rem;\n }\n .mt-md--1 {\n margin-block-start: -0.25rem;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md--2 {\n margin-inline-end: -0.5rem;\n }\n .me-md--1 {\n margin-inline-end: -0.25rem;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md--2 {\n margin-block-end: -0.5rem;\n }\n .mb-md--1 {\n margin-block-end: -0.25rem;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md--2 {\n padding: -0.5rem;\n }\n .p-md--1 {\n padding: -0.25rem;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md--2 {\n padding-inline: -0.5rem;\n }\n .px-md--1 {\n padding-inline: -0.25rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md--2 {\n padding-block: -0.5rem;\n }\n .py-md--1 {\n padding-block: -0.25rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md--2 {\n padding-block-start: -0.5rem;\n }\n .pt-md--1 {\n padding-block-start: -0.25rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-md--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md--2 {\n padding-block-end: -0.5rem;\n }\n .pb-md--1 {\n padding-block-end: -0.25rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-md--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1024px) {\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg--2 {\n margin: -0.5rem;\n }\n .m-lg--1 {\n margin: -0.25rem;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg--2 {\n margin-inline: -0.5rem;\n }\n .mx-lg--1 {\n margin-inline: -0.25rem;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg--2 {\n margin-block: -0.5rem;\n }\n .my-lg--1 {\n margin-block: -0.25rem;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg--2 {\n margin-block-start: -0.5rem;\n }\n .mt-lg--1 {\n margin-block-start: -0.25rem;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg--2 {\n margin-inline-end: -0.5rem;\n }\n .me-lg--1 {\n margin-inline-end: -0.25rem;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg--2 {\n margin-block-end: -0.5rem;\n }\n .mb-lg--1 {\n margin-block-end: -0.25rem;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg--2 {\n padding: -0.5rem;\n }\n .p-lg--1 {\n padding: -0.25rem;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg--2 {\n padding-inline: -0.5rem;\n }\n .px-lg--1 {\n padding-inline: -0.25rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg--2 {\n padding-block: -0.5rem;\n }\n .py-lg--1 {\n padding-block: -0.25rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg--2 {\n padding-block-start: -0.5rem;\n }\n .pt-lg--1 {\n padding-block-start: -0.25rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-lg--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg--2 {\n padding-block-end: -0.5rem;\n }\n .pb-lg--1 {\n padding-block-end: -0.25rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-lg--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1280px) {\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl--2 {\n margin: -0.5rem;\n }\n .m-xl--1 {\n margin: -0.25rem;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl--2 {\n margin-inline: -0.5rem;\n }\n .mx-xl--1 {\n margin-inline: -0.25rem;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl--2 {\n margin-block: -0.5rem;\n }\n .my-xl--1 {\n margin-block: -0.25rem;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl--2 {\n margin-block-start: -0.5rem;\n }\n .mt-xl--1 {\n margin-block-start: -0.25rem;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl--2 {\n margin-inline-end: -0.5rem;\n }\n .me-xl--1 {\n margin-inline-end: -0.25rem;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl--2 {\n margin-block-end: -0.5rem;\n }\n .mb-xl--1 {\n margin-block-end: -0.25rem;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl--2 {\n padding: -0.5rem;\n }\n .p-xl--1 {\n padding: -0.25rem;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl--2 {\n padding-inline: -0.5rem;\n }\n .px-xl--1 {\n padding-inline: -0.25rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl--2 {\n padding-block: -0.5rem;\n }\n .py-xl--1 {\n padding-block: -0.25rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl--2 {\n padding-block-start: -0.5rem;\n }\n .pt-xl--1 {\n padding-block-start: -0.25rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-xl--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl--2 {\n padding-block-end: -0.5rem;\n }\n .pb-xl--1 {\n padding-block-end: -0.25rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-xl--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1536px) {\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl--2 {\n margin: -0.5rem;\n }\n .m-2xl--1 {\n margin: -0.25rem;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl--2 {\n margin-inline: -0.5rem;\n }\n .mx-2xl--1 {\n margin-inline: -0.25rem;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl--2 {\n margin-block: -0.5rem;\n }\n .my-2xl--1 {\n margin-block: -0.25rem;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl--2 {\n margin-block-start: -0.5rem;\n }\n .mt-2xl--1 {\n margin-block-start: -0.25rem;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl--2 {\n margin-inline-end: -0.5rem;\n }\n .me-2xl--1 {\n margin-inline-end: -0.25rem;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl--2 {\n margin-block-end: -0.5rem;\n }\n .mb-2xl--1 {\n margin-block-end: -0.25rem;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl--2 {\n padding: -0.5rem;\n }\n .p-2xl--1 {\n padding: -0.25rem;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl--2 {\n padding-inline: -0.5rem;\n }\n .px-2xl--1 {\n padding-inline: -0.25rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl--2 {\n padding-block: -0.5rem;\n }\n .py-2xl--1 {\n padding-block: -0.25rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl--2 {\n padding-block-start: -0.5rem;\n }\n .pt-2xl--1 {\n padding-block-start: -0.25rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-2xl--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl--2 {\n padding-block-end: -0.5rem;\n }\n .pb-2xl--1 {\n padding-block-end: -0.25rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-2xl--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\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","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $grid-breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $grid-breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $grid-breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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 (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 (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 (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type: \"media-query\" !default;\n$color-contrast-dark: #000 !default;\n$color-contrast-light: #fff !default;\n$min-contrast-ratio: 4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n -2: $spacer * -.5,\n -1: $spacer * -.25,\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\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// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\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: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !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","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --breakpoint-#{$name}: #{$value};\n }\n}\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-width};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-width};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n // Loop over each breakpoint\n @each $breakpoint in map.keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n }\n\n // Print utilities\n @media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n"],"names":[]} \ No newline at end of file +{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-grid.css","../../scss/_banner.scss","../../scss/layout/_containers.scss","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss","../../scss/bootstrap-grid.scss"],"sourcesContent":["/*!\n * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n@layer layout {\n .container,\n .container-fluid,\n .container-2xl,\n .container-xl,\n .container-lg,\n .container-md,\n .container-sm {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-inline: auto;\n }\n @media (width >= 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n }\n @media (width >= 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n }\n @media (width >= 1024px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n }\n @media (width >= 1280px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1200px;\n }\n }\n @media (width >= 1536px) {\n .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1440px;\n }\n }\n}\n@layer layout {\n .row {\n --gutter-x: 1.5rem;\n --gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-inline: calc(-0.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n }\n .row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-inline: calc(var(--gutter-x) * 0.5);\n margin-top: var(--gutter-y);\n }\n .col {\n flex: 1 0 0;\n }\n .row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-3 {\n margin-inline-start: 25%;\n }\n .offset-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-6 {\n margin-inline-start: 50%;\n }\n .offset-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-9 {\n margin-inline-start: 75%;\n }\n .offset-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g--2,\n .gx--2 {\n --gutter-x: -0.5rem;\n }\n .g--2,\n .gy--2 {\n --gutter-y: -0.5rem;\n }\n .g--1,\n .gx--1 {\n --gutter-x: -0.25rem;\n }\n .g--1,\n .gy--1 {\n --gutter-y: -0.25rem;\n }\n .g-0,\n .gx-0 {\n --gutter-x: 0;\n }\n .g-0,\n .gy-0 {\n --gutter-y: 0;\n }\n .g-1,\n .gx-1 {\n --gutter-x: 0.25rem;\n }\n .g-1,\n .gy-1 {\n --gutter-y: 0.25rem;\n }\n .g-2,\n .gx-2 {\n --gutter-x: 0.5rem;\n }\n .g-2,\n .gy-2 {\n --gutter-y: 0.5rem;\n }\n .g-3,\n .gx-3 {\n --gutter-x: 1rem;\n }\n .g-3,\n .gy-3 {\n --gutter-y: 1rem;\n }\n .g-4,\n .gx-4 {\n --gutter-x: 1.5rem;\n }\n .g-4,\n .gy-4 {\n --gutter-y: 1.5rem;\n }\n .g-5,\n .gx-5 {\n --gutter-x: 3rem;\n }\n .g-5,\n .gy-5 {\n --gutter-y: 3rem;\n }\n @media (width >= 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-inline-start: 0;\n }\n .offset-sm-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-sm-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-sm-3 {\n margin-inline-start: 25%;\n }\n .offset-sm-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-sm-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-sm-6 {\n margin-inline-start: 50%;\n }\n .offset-sm-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-sm-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-sm-9 {\n margin-inline-start: 75%;\n }\n .offset-sm-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-sm-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-sm--2,\n .gx-sm--2 {\n --gutter-x: -0.5rem;\n }\n .g-sm--2,\n .gy-sm--2 {\n --gutter-y: -0.5rem;\n }\n .g-sm--1,\n .gx-sm--1 {\n --gutter-x: -0.25rem;\n }\n .g-sm--1,\n .gy-sm--1 {\n --gutter-y: -0.25rem;\n }\n .g-sm-0,\n .gx-sm-0 {\n --gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-inline-start: 0;\n }\n .offset-md-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-md-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-md-3 {\n margin-inline-start: 25%;\n }\n .offset-md-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-md-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-md-6 {\n margin-inline-start: 50%;\n }\n .offset-md-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-md-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-md-9 {\n margin-inline-start: 75%;\n }\n .offset-md-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-md-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-md--2,\n .gx-md--2 {\n --gutter-x: -0.5rem;\n }\n .g-md--2,\n .gy-md--2 {\n --gutter-y: -0.5rem;\n }\n .g-md--1,\n .gx-md--1 {\n --gutter-x: -0.25rem;\n }\n .g-md--1,\n .gy-md--1 {\n --gutter-y: -0.25rem;\n }\n .g-md-0,\n .gx-md-0 {\n --gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1024px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-inline-start: 0;\n }\n .offset-lg-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-lg-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-lg-3 {\n margin-inline-start: 25%;\n }\n .offset-lg-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-lg-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-lg-6 {\n margin-inline-start: 50%;\n }\n .offset-lg-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-lg-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-lg-9 {\n margin-inline-start: 75%;\n }\n .offset-lg-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-lg-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-lg--2,\n .gx-lg--2 {\n --gutter-x: -0.5rem;\n }\n .g-lg--2,\n .gy-lg--2 {\n --gutter-y: -0.5rem;\n }\n .g-lg--1,\n .gx-lg--1 {\n --gutter-x: -0.25rem;\n }\n .g-lg--1,\n .gy-lg--1 {\n --gutter-y: -0.25rem;\n }\n .g-lg-0,\n .gx-lg-0 {\n --gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1280px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-inline-start: 0;\n }\n .offset-xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-xl-3 {\n margin-inline-start: 25%;\n }\n .offset-xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-xl-6 {\n margin-inline-start: 50%;\n }\n .offset-xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-xl-9 {\n margin-inline-start: 75%;\n }\n .offset-xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-xl--2,\n .gx-xl--2 {\n --gutter-x: -0.5rem;\n }\n .g-xl--2,\n .gy-xl--2 {\n --gutter-y: -0.5rem;\n }\n .g-xl--1,\n .gx-xl--1 {\n --gutter-x: -0.25rem;\n }\n .g-xl--1,\n .gy-xl--1 {\n --gutter-y: -0.25rem;\n }\n .g-xl-0,\n .gx-xl-0 {\n --gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --gutter-y: 3rem;\n }\n }\n @media (width >= 1536px) {\n .col-2xl {\n flex: 1 0 0;\n }\n .row-cols-2xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-2xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-2xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-2xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-2xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-2xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-2xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-2xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .col-2xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-2xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-2xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .col-2xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .col-2xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-2xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .col-2xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .col-2xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-2xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .col-2xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .col-2xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-2xl-0 {\n margin-inline-start: 0;\n }\n .offset-2xl-1 {\n margin-inline-start: 8.3333333333%;\n }\n .offset-2xl-2 {\n margin-inline-start: 16.6666666667%;\n }\n .offset-2xl-3 {\n margin-inline-start: 25%;\n }\n .offset-2xl-4 {\n margin-inline-start: 33.3333333333%;\n }\n .offset-2xl-5 {\n margin-inline-start: 41.6666666667%;\n }\n .offset-2xl-6 {\n margin-inline-start: 50%;\n }\n .offset-2xl-7 {\n margin-inline-start: 58.3333333333%;\n }\n .offset-2xl-8 {\n margin-inline-start: 66.6666666667%;\n }\n .offset-2xl-9 {\n margin-inline-start: 75%;\n }\n .offset-2xl-10 {\n margin-inline-start: 83.3333333333%;\n }\n .offset-2xl-11 {\n margin-inline-start: 91.6666666667%;\n }\n .g-2xl--2,\n .gx-2xl--2 {\n --gutter-x: -0.5rem;\n }\n .g-2xl--2,\n .gy-2xl--2 {\n --gutter-y: -0.5rem;\n }\n .g-2xl--1,\n .gx-2xl--1 {\n --gutter-x: -0.25rem;\n }\n .g-2xl--1,\n .gy-2xl--1 {\n --gutter-y: -0.25rem;\n }\n .g-2xl-0,\n .gx-2xl-0 {\n --gutter-x: 0;\n }\n .g-2xl-0,\n .gy-2xl-0 {\n --gutter-y: 0;\n }\n .g-2xl-1,\n .gx-2xl-1 {\n --gutter-x: 0.25rem;\n }\n .g-2xl-1,\n .gy-2xl-1 {\n --gutter-y: 0.25rem;\n }\n .g-2xl-2,\n .gx-2xl-2 {\n --gutter-x: 0.5rem;\n }\n .g-2xl-2,\n .gy-2xl-2 {\n --gutter-y: 0.5rem;\n }\n .g-2xl-3,\n .gx-2xl-3 {\n --gutter-x: 1rem;\n }\n .g-2xl-3,\n .gy-2xl-3 {\n --gutter-y: 1rem;\n }\n .g-2xl-4,\n .gx-2xl-4 {\n --gutter-x: 1.5rem;\n }\n .g-2xl-4,\n .gy-2xl-4 {\n --gutter-y: 1.5rem;\n }\n .g-2xl-5,\n .gx-2xl-5 {\n --gutter-x: 3rem;\n }\n .g-2xl-5,\n .gy-2xl-5 {\n --gutter-y: 3rem;\n }\n }\n .grid {\n --columns: 12;\n --rows: 1;\n --gap: 1.5rem;\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n }\n .g-col-1 {\n grid-column: auto/span 1;\n }\n .g-col-2 {\n grid-column: auto/span 2;\n }\n .g-col-3 {\n grid-column: auto/span 3;\n }\n .g-col-4 {\n grid-column: auto/span 4;\n }\n .g-col-5 {\n grid-column: auto/span 5;\n }\n .g-col-6 {\n grid-column: auto/span 6;\n }\n .g-col-7 {\n grid-column: auto/span 7;\n }\n .g-col-8 {\n grid-column: auto/span 8;\n }\n .g-col-9 {\n grid-column: auto/span 9;\n }\n .g-col-10 {\n grid-column: auto/span 10;\n }\n .g-col-11 {\n grid-column: auto/span 11;\n }\n .g-col-12 {\n grid-column: auto/span 12;\n }\n .g-start-1 {\n grid-column-start: 1;\n }\n .g-start-2 {\n grid-column-start: 2;\n }\n .g-start-3 {\n grid-column-start: 3;\n }\n .g-start-4 {\n grid-column-start: 4;\n }\n .g-start-5 {\n grid-column-start: 5;\n }\n .g-start-6 {\n grid-column-start: 6;\n }\n .g-start-7 {\n grid-column-start: 7;\n }\n .g-start-8 {\n grid-column-start: 8;\n }\n .g-start-9 {\n grid-column-start: 9;\n }\n .g-start-10 {\n grid-column-start: 10;\n }\n .g-start-11 {\n grid-column-start: 11;\n }\n @media (width >= 576px) {\n .g-col-sm-1 {\n grid-column: auto/span 1;\n }\n .g-col-sm-2 {\n grid-column: auto/span 2;\n }\n .g-col-sm-3 {\n grid-column: auto/span 3;\n }\n .g-col-sm-4 {\n grid-column: auto/span 4;\n }\n .g-col-sm-5 {\n grid-column: auto/span 5;\n }\n .g-col-sm-6 {\n grid-column: auto/span 6;\n }\n .g-col-sm-7 {\n grid-column: auto/span 7;\n }\n .g-col-sm-8 {\n grid-column: auto/span 8;\n }\n .g-col-sm-9 {\n grid-column: auto/span 9;\n }\n .g-col-sm-10 {\n grid-column: auto/span 10;\n }\n .g-col-sm-11 {\n grid-column: auto/span 11;\n }\n .g-col-sm-12 {\n grid-column: auto/span 12;\n }\n .g-start-sm-1 {\n grid-column-start: 1;\n }\n .g-start-sm-2 {\n grid-column-start: 2;\n }\n .g-start-sm-3 {\n grid-column-start: 3;\n }\n .g-start-sm-4 {\n grid-column-start: 4;\n }\n .g-start-sm-5 {\n grid-column-start: 5;\n }\n .g-start-sm-6 {\n grid-column-start: 6;\n }\n .g-start-sm-7 {\n grid-column-start: 7;\n }\n .g-start-sm-8 {\n grid-column-start: 8;\n }\n .g-start-sm-9 {\n grid-column-start: 9;\n }\n .g-start-sm-10 {\n grid-column-start: 10;\n }\n .g-start-sm-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 768px) {\n .g-col-md-1 {\n grid-column: auto/span 1;\n }\n .g-col-md-2 {\n grid-column: auto/span 2;\n }\n .g-col-md-3 {\n grid-column: auto/span 3;\n }\n .g-col-md-4 {\n grid-column: auto/span 4;\n }\n .g-col-md-5 {\n grid-column: auto/span 5;\n }\n .g-col-md-6 {\n grid-column: auto/span 6;\n }\n .g-col-md-7 {\n grid-column: auto/span 7;\n }\n .g-col-md-8 {\n grid-column: auto/span 8;\n }\n .g-col-md-9 {\n grid-column: auto/span 9;\n }\n .g-col-md-10 {\n grid-column: auto/span 10;\n }\n .g-col-md-11 {\n grid-column: auto/span 11;\n }\n .g-col-md-12 {\n grid-column: auto/span 12;\n }\n .g-start-md-1 {\n grid-column-start: 1;\n }\n .g-start-md-2 {\n grid-column-start: 2;\n }\n .g-start-md-3 {\n grid-column-start: 3;\n }\n .g-start-md-4 {\n grid-column-start: 4;\n }\n .g-start-md-5 {\n grid-column-start: 5;\n }\n .g-start-md-6 {\n grid-column-start: 6;\n }\n .g-start-md-7 {\n grid-column-start: 7;\n }\n .g-start-md-8 {\n grid-column-start: 8;\n }\n .g-start-md-9 {\n grid-column-start: 9;\n }\n .g-start-md-10 {\n grid-column-start: 10;\n }\n .g-start-md-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1024px) {\n .g-col-lg-1 {\n grid-column: auto/span 1;\n }\n .g-col-lg-2 {\n grid-column: auto/span 2;\n }\n .g-col-lg-3 {\n grid-column: auto/span 3;\n }\n .g-col-lg-4 {\n grid-column: auto/span 4;\n }\n .g-col-lg-5 {\n grid-column: auto/span 5;\n }\n .g-col-lg-6 {\n grid-column: auto/span 6;\n }\n .g-col-lg-7 {\n grid-column: auto/span 7;\n }\n .g-col-lg-8 {\n grid-column: auto/span 8;\n }\n .g-col-lg-9 {\n grid-column: auto/span 9;\n }\n .g-col-lg-10 {\n grid-column: auto/span 10;\n }\n .g-col-lg-11 {\n grid-column: auto/span 11;\n }\n .g-col-lg-12 {\n grid-column: auto/span 12;\n }\n .g-start-lg-1 {\n grid-column-start: 1;\n }\n .g-start-lg-2 {\n grid-column-start: 2;\n }\n .g-start-lg-3 {\n grid-column-start: 3;\n }\n .g-start-lg-4 {\n grid-column-start: 4;\n }\n .g-start-lg-5 {\n grid-column-start: 5;\n }\n .g-start-lg-6 {\n grid-column-start: 6;\n }\n .g-start-lg-7 {\n grid-column-start: 7;\n }\n .g-start-lg-8 {\n grid-column-start: 8;\n }\n .g-start-lg-9 {\n grid-column-start: 9;\n }\n .g-start-lg-10 {\n grid-column-start: 10;\n }\n .g-start-lg-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1280px) {\n .g-col-xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-xl-1 {\n grid-column-start: 1;\n }\n .g-start-xl-2 {\n grid-column-start: 2;\n }\n .g-start-xl-3 {\n grid-column-start: 3;\n }\n .g-start-xl-4 {\n grid-column-start: 4;\n }\n .g-start-xl-5 {\n grid-column-start: 5;\n }\n .g-start-xl-6 {\n grid-column-start: 6;\n }\n .g-start-xl-7 {\n grid-column-start: 7;\n }\n .g-start-xl-8 {\n grid-column-start: 8;\n }\n .g-start-xl-9 {\n grid-column-start: 9;\n }\n .g-start-xl-10 {\n grid-column-start: 10;\n }\n .g-start-xl-11 {\n grid-column-start: 11;\n }\n }\n @media (width >= 1536px) {\n .g-col-2xl-1 {\n grid-column: auto/span 1;\n }\n .g-col-2xl-2 {\n grid-column: auto/span 2;\n }\n .g-col-2xl-3 {\n grid-column: auto/span 3;\n }\n .g-col-2xl-4 {\n grid-column: auto/span 4;\n }\n .g-col-2xl-5 {\n grid-column: auto/span 5;\n }\n .g-col-2xl-6 {\n grid-column: auto/span 6;\n }\n .g-col-2xl-7 {\n grid-column: auto/span 7;\n }\n .g-col-2xl-8 {\n grid-column: auto/span 8;\n }\n .g-col-2xl-9 {\n grid-column: auto/span 9;\n }\n .g-col-2xl-10 {\n grid-column: auto/span 10;\n }\n .g-col-2xl-11 {\n grid-column: auto/span 11;\n }\n .g-col-2xl-12 {\n grid-column: auto/span 12;\n }\n .g-start-2xl-1 {\n grid-column-start: 1;\n }\n .g-start-2xl-2 {\n grid-column-start: 2;\n }\n .g-start-2xl-3 {\n grid-column-start: 3;\n }\n .g-start-2xl-4 {\n grid-column-start: 4;\n }\n .g-start-2xl-5 {\n grid-column-start: 5;\n }\n .g-start-2xl-6 {\n grid-column-start: 6;\n }\n .g-start-2xl-7 {\n grid-column-start: 7;\n }\n .g-start-2xl-8 {\n grid-column-start: 8;\n }\n .g-start-2xl-9 {\n grid-column-start: 9;\n }\n .g-start-2xl-10 {\n grid-column-start: 10;\n }\n .g-start-2xl-11 {\n grid-column-start: 11;\n }\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-fill {\n --gap: 1.5rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n}\n@layer utilities {\n .d-inline {\n display: inline;\n }\n .d-inline-block {\n display: inline-block;\n }\n .d-block {\n display: block;\n }\n .d-grid {\n display: grid;\n }\n .d-inline-grid {\n display: inline-grid;\n }\n .d-table {\n display: table;\n }\n .d-table-row {\n display: table-row;\n }\n .d-table-cell {\n display: table-cell;\n }\n .d-flex {\n display: flex;\n }\n .d-inline-flex {\n display: inline-flex;\n }\n .d-contents {\n display: contents;\n }\n .d-flow-root {\n display: flow-root;\n }\n .d-none {\n display: none;\n }\n .flex-fill {\n flex: 1 1 auto;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-column {\n flex-direction: column;\n }\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-grow-0 {\n flex-grow: 0;\n }\n .flex-grow-1 {\n flex-grow: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .flex-shrink-1 {\n flex-shrink: 1;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-start {\n justify-content: flex-start;\n }\n .justify-content-end {\n justify-content: flex-end;\n }\n .justify-content-center {\n justify-content: center;\n }\n .justify-content-between {\n justify-content: space-between;\n }\n .justify-content-around {\n justify-content: space-around;\n }\n .justify-content-evenly {\n justify-content: space-evenly;\n }\n .justify-items-start {\n justify-items: start;\n }\n .justify-items-end {\n justify-items: end;\n }\n .justify-items-center {\n justify-items: center;\n }\n .justify-items-stretch {\n justify-items: stretch;\n }\n .align-items-start {\n align-items: flex-start;\n }\n .align-items-end {\n align-items: flex-end;\n }\n .align-items-center {\n align-items: center;\n }\n .align-items-baseline {\n align-items: baseline;\n }\n .align-items-stretch {\n align-items: stretch;\n }\n .align-content-start {\n align-content: flex-start;\n }\n .align-content-end {\n align-content: flex-end;\n }\n .align-content-center {\n align-content: center;\n }\n .align-content-between {\n align-content: space-between;\n }\n .align-content-around {\n align-content: space-around;\n }\n .align-content-stretch {\n align-content: stretch;\n }\n .align-self-auto {\n align-self: auto;\n }\n .align-self-start {\n align-self: flex-start;\n }\n .align-self-end {\n align-self: flex-end;\n }\n .align-self-center {\n align-self: center;\n }\n .align-self-baseline {\n align-self: baseline;\n }\n .align-self-stretch {\n align-self: stretch;\n }\n .place-items-start {\n place-items: start;\n }\n .place-items-end {\n place-items: end;\n }\n .place-items-center {\n place-items: center;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .order-first {\n order: -1;\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-last {\n order: 6;\n }\n .m--2 {\n margin: -0.5rem;\n }\n .m--1 {\n margin: -0.25rem;\n }\n .m-0 {\n margin: 0;\n }\n .m-1 {\n margin: 0.25rem;\n }\n .m-2 {\n margin: 0.5rem;\n }\n .m-3 {\n margin: 1rem;\n }\n .m-4 {\n margin: 1.5rem;\n }\n .m-5 {\n margin: 3rem;\n }\n .m-auto {\n margin: auto;\n }\n .mx--2 {\n margin-inline: -0.5rem;\n }\n .mx--1 {\n margin-inline: -0.25rem;\n }\n .mx-0 {\n margin-inline: 0;\n }\n .mx-1 {\n margin-inline: 0.25rem;\n }\n .mx-2 {\n margin-inline: 0.5rem;\n }\n .mx-3 {\n margin-inline: 1rem;\n }\n .mx-4 {\n margin-inline: 1.5rem;\n }\n .mx-5 {\n margin-inline: 3rem;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my--2 {\n margin-block: -0.5rem;\n }\n .my--1 {\n margin-block: -0.25rem;\n }\n .my-0 {\n margin-block: 0;\n }\n .my-1 {\n margin-block: 0.25rem;\n }\n .my-2 {\n margin-block: 0.5rem;\n }\n .my-3 {\n margin-block: 1rem;\n }\n .my-4 {\n margin-block: 1.5rem;\n }\n .my-5 {\n margin-block: 3rem;\n }\n .my-auto {\n margin-block: auto;\n }\n .mt--2 {\n margin-block-start: -0.5rem;\n }\n .mt--1 {\n margin-block-start: -0.25rem;\n }\n .mt-0 {\n margin-block-start: 0;\n }\n .mt-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2 {\n margin-block-start: 0.5rem;\n }\n .mt-3 {\n margin-block-start: 1rem;\n }\n .mt-4 {\n margin-block-start: 1.5rem;\n }\n .mt-5 {\n margin-block-start: 3rem;\n }\n .mt-auto {\n margin-block-start: auto;\n }\n .me--2 {\n margin-inline-end: -0.5rem;\n }\n .me--1 {\n margin-inline-end: -0.25rem;\n }\n .me-0 {\n margin-inline-end: 0;\n }\n .me-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2 {\n margin-inline-end: 0.5rem;\n }\n .me-3 {\n margin-inline-end: 1rem;\n }\n .me-4 {\n margin-inline-end: 1.5rem;\n }\n .me-5 {\n margin-inline-end: 3rem;\n }\n .me-auto {\n margin-inline-end: auto;\n }\n .mb--2 {\n margin-block-end: -0.5rem;\n }\n .mb--1 {\n margin-block-end: -0.25rem;\n }\n .mb-0 {\n margin-block-end: 0;\n }\n .mb-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2 {\n margin-block-end: 0.5rem;\n }\n .mb-3 {\n margin-block-end: 1rem;\n }\n .mb-4 {\n margin-block-end: 1.5rem;\n }\n .mb-5 {\n margin-block-end: 3rem;\n }\n .mb-auto {\n margin-block-end: auto;\n }\n .ms--2 {\n margin-inline-start: -0.5rem;\n }\n .ms--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-0 {\n margin-inline-start: 0;\n }\n .ms-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-3 {\n margin-inline-start: 1rem;\n }\n .ms-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-5 {\n margin-inline-start: 3rem;\n }\n .ms-auto {\n margin-inline-start: auto;\n }\n .p--2 {\n padding: -0.5rem;\n }\n .p--1 {\n padding: -0.25rem;\n }\n .p-0 {\n padding: 0;\n }\n .p-1 {\n padding: 0.25rem;\n }\n .p-2 {\n padding: 0.5rem;\n }\n .p-3 {\n padding: 1rem;\n }\n .p-4 {\n padding: 1.5rem;\n }\n .p-5 {\n padding: 3rem;\n }\n .px--2 {\n padding-inline: -0.5rem;\n }\n .px--1 {\n padding-inline: -0.25rem;\n }\n .px-0 {\n padding-inline: 0;\n }\n .px-1 {\n padding-inline: 0.25rem;\n }\n .px-2 {\n padding-inline: 0.5rem;\n }\n .px-3 {\n padding-inline: 1rem;\n }\n .px-4 {\n padding-inline: 1.5rem;\n }\n .px-5 {\n padding-inline: 3rem;\n }\n .py--2 {\n padding-block: -0.5rem;\n }\n .py--1 {\n padding-block: -0.25rem;\n }\n .py-0 {\n padding-block: 0;\n }\n .py-1 {\n padding-block: 0.25rem;\n }\n .py-2 {\n padding-block: 0.5rem;\n }\n .py-3 {\n padding-block: 1rem;\n }\n .py-4 {\n padding-block: 1.5rem;\n }\n .py-5 {\n padding-block: 3rem;\n }\n .pt--2 {\n padding-block-start: -0.5rem;\n }\n .pt--1 {\n padding-block-start: -0.25rem;\n }\n .pt-0 {\n padding-block-start: 0;\n }\n .pt-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2 {\n padding-block-start: 0.5rem;\n }\n .pt-3 {\n padding-block-start: 1rem;\n }\n .pt-4 {\n padding-block-start: 1.5rem;\n }\n .pt-5 {\n padding-block-start: 3rem;\n }\n .pe--2 {\n padding-inline-end: -0.5rem;\n }\n .pe--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-0 {\n padding-inline-end: 0;\n }\n .pe-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-3 {\n padding-inline-end: 1rem;\n }\n .pe-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-5 {\n padding-inline-end: 3rem;\n }\n .pb--2 {\n padding-block-end: -0.5rem;\n }\n .pb--1 {\n padding-block-end: -0.25rem;\n }\n .pb-0 {\n padding-block-end: 0;\n }\n .pb-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2 {\n padding-block-end: 0.5rem;\n }\n .pb-3 {\n padding-block-end: 1rem;\n }\n .pb-4 {\n padding-block-end: 1.5rem;\n }\n .pb-5 {\n padding-block-end: 3rem;\n }\n .ps--2 {\n padding-inline-start: -0.5rem;\n }\n .ps--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-0 {\n padding-inline-start: 0;\n }\n .ps-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-3 {\n padding-inline-start: 1rem;\n }\n .ps-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-5 {\n padding-inline-start: 3rem;\n }\n @media (width >= 576px) {\n .d-sm-inline {\n display: inline;\n }\n .d-sm-inline-block {\n display: inline-block;\n }\n .d-sm-block {\n display: block;\n }\n .d-sm-grid {\n display: grid;\n }\n .d-sm-inline-grid {\n display: inline-grid;\n }\n .d-sm-table {\n display: table;\n }\n .d-sm-table-row {\n display: table-row;\n }\n .d-sm-table-cell {\n display: table-cell;\n }\n .d-sm-flex {\n display: flex;\n }\n .d-sm-inline-flex {\n display: inline-flex;\n }\n .d-sm-contents {\n display: contents;\n }\n .d-sm-flow-root {\n display: flow-root;\n }\n .d-sm-none {\n display: none;\n }\n .flex-sm-fill {\n flex: 1 1 auto;\n }\n .flex-sm-row {\n flex-direction: row;\n }\n .flex-sm-column {\n flex-direction: column;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-sm-grow-0 {\n flex-grow: 0;\n }\n .flex-sm-grow-1 {\n flex-grow: 1;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1;\n }\n .flex-sm-wrap {\n flex-wrap: wrap;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-sm-start {\n justify-content: flex-start;\n }\n .justify-content-sm-end {\n justify-content: flex-end;\n }\n .justify-content-sm-center {\n justify-content: center;\n }\n .justify-content-sm-between {\n justify-content: space-between;\n }\n .justify-content-sm-around {\n justify-content: space-around;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly;\n }\n .justify-items-sm-start {\n justify-items: start;\n }\n .justify-items-sm-end {\n justify-items: end;\n }\n .justify-items-sm-center {\n justify-items: center;\n }\n .justify-items-sm-stretch {\n justify-items: stretch;\n }\n .align-items-sm-start {\n align-items: flex-start;\n }\n .align-items-sm-end {\n align-items: flex-end;\n }\n .align-items-sm-center {\n align-items: center;\n }\n .align-items-sm-baseline {\n align-items: baseline;\n }\n .align-items-sm-stretch {\n align-items: stretch;\n }\n .align-content-sm-start {\n align-content: flex-start;\n }\n .align-content-sm-end {\n align-content: flex-end;\n }\n .align-content-sm-center {\n align-content: center;\n }\n .align-content-sm-between {\n align-content: space-between;\n }\n .align-content-sm-around {\n align-content: space-around;\n }\n .align-content-sm-stretch {\n align-content: stretch;\n }\n .align-self-sm-auto {\n align-self: auto;\n }\n .align-self-sm-start {\n align-self: flex-start;\n }\n .align-self-sm-end {\n align-self: flex-end;\n }\n .align-self-sm-center {\n align-self: center;\n }\n .align-self-sm-baseline {\n align-self: baseline;\n }\n .align-self-sm-stretch {\n align-self: stretch;\n }\n .place-items-sm-start {\n place-items: start;\n }\n .place-items-sm-end {\n place-items: end;\n }\n .place-items-sm-center {\n place-items: center;\n }\n .place-items-sm-stretch {\n place-items: stretch;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-last {\n order: 6;\n }\n .m-sm--2 {\n margin: -0.5rem;\n }\n .m-sm--1 {\n margin: -0.25rem;\n }\n .m-sm-0 {\n margin: 0;\n }\n .m-sm-1 {\n margin: 0.25rem;\n }\n .m-sm-2 {\n margin: 0.5rem;\n }\n .m-sm-3 {\n margin: 1rem;\n }\n .m-sm-4 {\n margin: 1.5rem;\n }\n .m-sm-5 {\n margin: 3rem;\n }\n .m-sm-auto {\n margin: auto;\n }\n .mx-sm--2 {\n margin-inline: -0.5rem;\n }\n .mx-sm--1 {\n margin-inline: -0.25rem;\n }\n .mx-sm-0 {\n margin-inline: 0;\n }\n .mx-sm-1 {\n margin-inline: 0.25rem;\n }\n .mx-sm-2 {\n margin-inline: 0.5rem;\n }\n .mx-sm-3 {\n margin-inline: 1rem;\n }\n .mx-sm-4 {\n margin-inline: 1.5rem;\n }\n .mx-sm-5 {\n margin-inline: 3rem;\n }\n .mx-sm-auto {\n margin-inline: auto;\n }\n .my-sm--2 {\n margin-block: -0.5rem;\n }\n .my-sm--1 {\n margin-block: -0.25rem;\n }\n .my-sm-0 {\n margin-block: 0;\n }\n .my-sm-1 {\n margin-block: 0.25rem;\n }\n .my-sm-2 {\n margin-block: 0.5rem;\n }\n .my-sm-3 {\n margin-block: 1rem;\n }\n .my-sm-4 {\n margin-block: 1.5rem;\n }\n .my-sm-5 {\n margin-block: 3rem;\n }\n .my-sm-auto {\n margin-block: auto;\n }\n .mt-sm--2 {\n margin-block-start: -0.5rem;\n }\n .mt-sm--1 {\n margin-block-start: -0.25rem;\n }\n .mt-sm-0 {\n margin-block-start: 0;\n }\n .mt-sm-1 {\n margin-block-start: 0.25rem;\n }\n .mt-sm-2 {\n margin-block-start: 0.5rem;\n }\n .mt-sm-3 {\n margin-block-start: 1rem;\n }\n .mt-sm-4 {\n margin-block-start: 1.5rem;\n }\n .mt-sm-5 {\n margin-block-start: 3rem;\n }\n .mt-sm-auto {\n margin-block-start: auto;\n }\n .me-sm--2 {\n margin-inline-end: -0.5rem;\n }\n .me-sm--1 {\n margin-inline-end: -0.25rem;\n }\n .me-sm-0 {\n margin-inline-end: 0;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem;\n }\n .me-sm-3 {\n margin-inline-end: 1rem;\n }\n .me-sm-4 {\n margin-inline-end: 1.5rem;\n }\n .me-sm-5 {\n margin-inline-end: 3rem;\n }\n .me-sm-auto {\n margin-inline-end: auto;\n }\n .mb-sm--2 {\n margin-block-end: -0.5rem;\n }\n .mb-sm--1 {\n margin-block-end: -0.25rem;\n }\n .mb-sm-0 {\n margin-block-end: 0;\n }\n .mb-sm-1 {\n margin-block-end: 0.25rem;\n }\n .mb-sm-2 {\n margin-block-end: 0.5rem;\n }\n .mb-sm-3 {\n margin-block-end: 1rem;\n }\n .mb-sm-4 {\n margin-block-end: 1.5rem;\n }\n .mb-sm-5 {\n margin-block-end: 3rem;\n }\n .mb-sm-auto {\n margin-block-end: auto;\n }\n .ms-sm--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-sm--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-sm-0 {\n margin-inline-start: 0;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-sm-3 {\n margin-inline-start: 1rem;\n }\n .ms-sm-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-sm-5 {\n margin-inline-start: 3rem;\n }\n .ms-sm-auto {\n margin-inline-start: auto;\n }\n .p-sm--2 {\n padding: -0.5rem;\n }\n .p-sm--1 {\n padding: -0.25rem;\n }\n .p-sm-0 {\n padding: 0;\n }\n .p-sm-1 {\n padding: 0.25rem;\n }\n .p-sm-2 {\n padding: 0.5rem;\n }\n .p-sm-3 {\n padding: 1rem;\n }\n .p-sm-4 {\n padding: 1.5rem;\n }\n .p-sm-5 {\n padding: 3rem;\n }\n .px-sm--2 {\n padding-inline: -0.5rem;\n }\n .px-sm--1 {\n padding-inline: -0.25rem;\n }\n .px-sm-0 {\n padding-inline: 0;\n }\n .px-sm-1 {\n padding-inline: 0.25rem;\n }\n .px-sm-2 {\n padding-inline: 0.5rem;\n }\n .px-sm-3 {\n padding-inline: 1rem;\n }\n .px-sm-4 {\n padding-inline: 1.5rem;\n }\n .px-sm-5 {\n padding-inline: 3rem;\n }\n .py-sm--2 {\n padding-block: -0.5rem;\n }\n .py-sm--1 {\n padding-block: -0.25rem;\n }\n .py-sm-0 {\n padding-block: 0;\n }\n .py-sm-1 {\n padding-block: 0.25rem;\n }\n .py-sm-2 {\n padding-block: 0.5rem;\n }\n .py-sm-3 {\n padding-block: 1rem;\n }\n .py-sm-4 {\n padding-block: 1.5rem;\n }\n .py-sm-5 {\n padding-block: 3rem;\n }\n .pt-sm--2 {\n padding-block-start: -0.5rem;\n }\n .pt-sm--1 {\n padding-block-start: -0.25rem;\n }\n .pt-sm-0 {\n padding-block-start: 0;\n }\n .pt-sm-1 {\n padding-block-start: 0.25rem;\n }\n .pt-sm-2 {\n padding-block-start: 0.5rem;\n }\n .pt-sm-3 {\n padding-block-start: 1rem;\n }\n .pt-sm-4 {\n padding-block-start: 1.5rem;\n }\n .pt-sm-5 {\n padding-block-start: 3rem;\n }\n .pe-sm--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-sm--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-sm-0 {\n padding-inline-end: 0;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-sm-3 {\n padding-inline-end: 1rem;\n }\n .pe-sm-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-sm-5 {\n padding-inline-end: 3rem;\n }\n .pb-sm--2 {\n padding-block-end: -0.5rem;\n }\n .pb-sm--1 {\n padding-block-end: -0.25rem;\n }\n .pb-sm-0 {\n padding-block-end: 0;\n }\n .pb-sm-1 {\n padding-block-end: 0.25rem;\n }\n .pb-sm-2 {\n padding-block-end: 0.5rem;\n }\n .pb-sm-3 {\n padding-block-end: 1rem;\n }\n .pb-sm-4 {\n padding-block-end: 1.5rem;\n }\n .pb-sm-5 {\n padding-block-end: 3rem;\n }\n .ps-sm--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-sm--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-sm-0 {\n padding-inline-start: 0;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-sm-3 {\n padding-inline-start: 1rem;\n }\n .ps-sm-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-sm-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 768px) {\n .d-md-inline {\n display: inline;\n }\n .d-md-inline-block {\n display: inline-block;\n }\n .d-md-block {\n display: block;\n }\n .d-md-grid {\n display: grid;\n }\n .d-md-inline-grid {\n display: inline-grid;\n }\n .d-md-table {\n display: table;\n }\n .d-md-table-row {\n display: table-row;\n }\n .d-md-table-cell {\n display: table-cell;\n }\n .d-md-flex {\n display: flex;\n }\n .d-md-inline-flex {\n display: inline-flex;\n }\n .d-md-contents {\n display: contents;\n }\n .d-md-flow-root {\n display: flow-root;\n }\n .d-md-none {\n display: none;\n }\n .flex-md-fill {\n flex: 1 1 auto;\n }\n .flex-md-row {\n flex-direction: row;\n }\n .flex-md-column {\n flex-direction: column;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-md-grow-0 {\n flex-grow: 0;\n }\n .flex-md-grow-1 {\n flex-grow: 1;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1;\n }\n .flex-md-wrap {\n flex-wrap: wrap;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-md-start {\n justify-content: flex-start;\n }\n .justify-content-md-end {\n justify-content: flex-end;\n }\n .justify-content-md-center {\n justify-content: center;\n }\n .justify-content-md-between {\n justify-content: space-between;\n }\n .justify-content-md-around {\n justify-content: space-around;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly;\n }\n .justify-items-md-start {\n justify-items: start;\n }\n .justify-items-md-end {\n justify-items: end;\n }\n .justify-items-md-center {\n justify-items: center;\n }\n .justify-items-md-stretch {\n justify-items: stretch;\n }\n .align-items-md-start {\n align-items: flex-start;\n }\n .align-items-md-end {\n align-items: flex-end;\n }\n .align-items-md-center {\n align-items: center;\n }\n .align-items-md-baseline {\n align-items: baseline;\n }\n .align-items-md-stretch {\n align-items: stretch;\n }\n .align-content-md-start {\n align-content: flex-start;\n }\n .align-content-md-end {\n align-content: flex-end;\n }\n .align-content-md-center {\n align-content: center;\n }\n .align-content-md-between {\n align-content: space-between;\n }\n .align-content-md-around {\n align-content: space-around;\n }\n .align-content-md-stretch {\n align-content: stretch;\n }\n .align-self-md-auto {\n align-self: auto;\n }\n .align-self-md-start {\n align-self: flex-start;\n }\n .align-self-md-end {\n align-self: flex-end;\n }\n .align-self-md-center {\n align-self: center;\n }\n .align-self-md-baseline {\n align-self: baseline;\n }\n .align-self-md-stretch {\n align-self: stretch;\n }\n .place-items-md-start {\n place-items: start;\n }\n .place-items-md-end {\n place-items: end;\n }\n .place-items-md-center {\n place-items: center;\n }\n .place-items-md-stretch {\n place-items: stretch;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-last {\n order: 6;\n }\n .m-md--2 {\n margin: -0.5rem;\n }\n .m-md--1 {\n margin: -0.25rem;\n }\n .m-md-0 {\n margin: 0;\n }\n .m-md-1 {\n margin: 0.25rem;\n }\n .m-md-2 {\n margin: 0.5rem;\n }\n .m-md-3 {\n margin: 1rem;\n }\n .m-md-4 {\n margin: 1.5rem;\n }\n .m-md-5 {\n margin: 3rem;\n }\n .m-md-auto {\n margin: auto;\n }\n .mx-md--2 {\n margin-inline: -0.5rem;\n }\n .mx-md--1 {\n margin-inline: -0.25rem;\n }\n .mx-md-0 {\n margin-inline: 0;\n }\n .mx-md-1 {\n margin-inline: 0.25rem;\n }\n .mx-md-2 {\n margin-inline: 0.5rem;\n }\n .mx-md-3 {\n margin-inline: 1rem;\n }\n .mx-md-4 {\n margin-inline: 1.5rem;\n }\n .mx-md-5 {\n margin-inline: 3rem;\n }\n .mx-md-auto {\n margin-inline: auto;\n }\n .my-md--2 {\n margin-block: -0.5rem;\n }\n .my-md--1 {\n margin-block: -0.25rem;\n }\n .my-md-0 {\n margin-block: 0;\n }\n .my-md-1 {\n margin-block: 0.25rem;\n }\n .my-md-2 {\n margin-block: 0.5rem;\n }\n .my-md-3 {\n margin-block: 1rem;\n }\n .my-md-4 {\n margin-block: 1.5rem;\n }\n .my-md-5 {\n margin-block: 3rem;\n }\n .my-md-auto {\n margin-block: auto;\n }\n .mt-md--2 {\n margin-block-start: -0.5rem;\n }\n .mt-md--1 {\n margin-block-start: -0.25rem;\n }\n .mt-md-0 {\n margin-block-start: 0;\n }\n .mt-md-1 {\n margin-block-start: 0.25rem;\n }\n .mt-md-2 {\n margin-block-start: 0.5rem;\n }\n .mt-md-3 {\n margin-block-start: 1rem;\n }\n .mt-md-4 {\n margin-block-start: 1.5rem;\n }\n .mt-md-5 {\n margin-block-start: 3rem;\n }\n .mt-md-auto {\n margin-block-start: auto;\n }\n .me-md--2 {\n margin-inline-end: -0.5rem;\n }\n .me-md--1 {\n margin-inline-end: -0.25rem;\n }\n .me-md-0 {\n margin-inline-end: 0;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem;\n }\n .me-md-3 {\n margin-inline-end: 1rem;\n }\n .me-md-4 {\n margin-inline-end: 1.5rem;\n }\n .me-md-5 {\n margin-inline-end: 3rem;\n }\n .me-md-auto {\n margin-inline-end: auto;\n }\n .mb-md--2 {\n margin-block-end: -0.5rem;\n }\n .mb-md--1 {\n margin-block-end: -0.25rem;\n }\n .mb-md-0 {\n margin-block-end: 0;\n }\n .mb-md-1 {\n margin-block-end: 0.25rem;\n }\n .mb-md-2 {\n margin-block-end: 0.5rem;\n }\n .mb-md-3 {\n margin-block-end: 1rem;\n }\n .mb-md-4 {\n margin-block-end: 1.5rem;\n }\n .mb-md-5 {\n margin-block-end: 3rem;\n }\n .mb-md-auto {\n margin-block-end: auto;\n }\n .ms-md--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-md--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-md-0 {\n margin-inline-start: 0;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-md-3 {\n margin-inline-start: 1rem;\n }\n .ms-md-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-md-5 {\n margin-inline-start: 3rem;\n }\n .ms-md-auto {\n margin-inline-start: auto;\n }\n .p-md--2 {\n padding: -0.5rem;\n }\n .p-md--1 {\n padding: -0.25rem;\n }\n .p-md-0 {\n padding: 0;\n }\n .p-md-1 {\n padding: 0.25rem;\n }\n .p-md-2 {\n padding: 0.5rem;\n }\n .p-md-3 {\n padding: 1rem;\n }\n .p-md-4 {\n padding: 1.5rem;\n }\n .p-md-5 {\n padding: 3rem;\n }\n .px-md--2 {\n padding-inline: -0.5rem;\n }\n .px-md--1 {\n padding-inline: -0.25rem;\n }\n .px-md-0 {\n padding-inline: 0;\n }\n .px-md-1 {\n padding-inline: 0.25rem;\n }\n .px-md-2 {\n padding-inline: 0.5rem;\n }\n .px-md-3 {\n padding-inline: 1rem;\n }\n .px-md-4 {\n padding-inline: 1.5rem;\n }\n .px-md-5 {\n padding-inline: 3rem;\n }\n .py-md--2 {\n padding-block: -0.5rem;\n }\n .py-md--1 {\n padding-block: -0.25rem;\n }\n .py-md-0 {\n padding-block: 0;\n }\n .py-md-1 {\n padding-block: 0.25rem;\n }\n .py-md-2 {\n padding-block: 0.5rem;\n }\n .py-md-3 {\n padding-block: 1rem;\n }\n .py-md-4 {\n padding-block: 1.5rem;\n }\n .py-md-5 {\n padding-block: 3rem;\n }\n .pt-md--2 {\n padding-block-start: -0.5rem;\n }\n .pt-md--1 {\n padding-block-start: -0.25rem;\n }\n .pt-md-0 {\n padding-block-start: 0;\n }\n .pt-md-1 {\n padding-block-start: 0.25rem;\n }\n .pt-md-2 {\n padding-block-start: 0.5rem;\n }\n .pt-md-3 {\n padding-block-start: 1rem;\n }\n .pt-md-4 {\n padding-block-start: 1.5rem;\n }\n .pt-md-5 {\n padding-block-start: 3rem;\n }\n .pe-md--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-md--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-md-0 {\n padding-inline-end: 0;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-md-3 {\n padding-inline-end: 1rem;\n }\n .pe-md-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-md-5 {\n padding-inline-end: 3rem;\n }\n .pb-md--2 {\n padding-block-end: -0.5rem;\n }\n .pb-md--1 {\n padding-block-end: -0.25rem;\n }\n .pb-md-0 {\n padding-block-end: 0;\n }\n .pb-md-1 {\n padding-block-end: 0.25rem;\n }\n .pb-md-2 {\n padding-block-end: 0.5rem;\n }\n .pb-md-3 {\n padding-block-end: 1rem;\n }\n .pb-md-4 {\n padding-block-end: 1.5rem;\n }\n .pb-md-5 {\n padding-block-end: 3rem;\n }\n .ps-md--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-md--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-md-0 {\n padding-inline-start: 0;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-md-3 {\n padding-inline-start: 1rem;\n }\n .ps-md-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-md-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1024px) {\n .d-lg-inline {\n display: inline;\n }\n .d-lg-inline-block {\n display: inline-block;\n }\n .d-lg-block {\n display: block;\n }\n .d-lg-grid {\n display: grid;\n }\n .d-lg-inline-grid {\n display: inline-grid;\n }\n .d-lg-table {\n display: table;\n }\n .d-lg-table-row {\n display: table-row;\n }\n .d-lg-table-cell {\n display: table-cell;\n }\n .d-lg-flex {\n display: flex;\n }\n .d-lg-inline-flex {\n display: inline-flex;\n }\n .d-lg-contents {\n display: contents;\n }\n .d-lg-flow-root {\n display: flow-root;\n }\n .d-lg-none {\n display: none;\n }\n .flex-lg-fill {\n flex: 1 1 auto;\n }\n .flex-lg-row {\n flex-direction: row;\n }\n .flex-lg-column {\n flex-direction: column;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-lg-grow-0 {\n flex-grow: 0;\n }\n .flex-lg-grow-1 {\n flex-grow: 1;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1;\n }\n .flex-lg-wrap {\n flex-wrap: wrap;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-lg-start {\n justify-content: flex-start;\n }\n .justify-content-lg-end {\n justify-content: flex-end;\n }\n .justify-content-lg-center {\n justify-content: center;\n }\n .justify-content-lg-between {\n justify-content: space-between;\n }\n .justify-content-lg-around {\n justify-content: space-around;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly;\n }\n .justify-items-lg-start {\n justify-items: start;\n }\n .justify-items-lg-end {\n justify-items: end;\n }\n .justify-items-lg-center {\n justify-items: center;\n }\n .justify-items-lg-stretch {\n justify-items: stretch;\n }\n .align-items-lg-start {\n align-items: flex-start;\n }\n .align-items-lg-end {\n align-items: flex-end;\n }\n .align-items-lg-center {\n align-items: center;\n }\n .align-items-lg-baseline {\n align-items: baseline;\n }\n .align-items-lg-stretch {\n align-items: stretch;\n }\n .align-content-lg-start {\n align-content: flex-start;\n }\n .align-content-lg-end {\n align-content: flex-end;\n }\n .align-content-lg-center {\n align-content: center;\n }\n .align-content-lg-between {\n align-content: space-between;\n }\n .align-content-lg-around {\n align-content: space-around;\n }\n .align-content-lg-stretch {\n align-content: stretch;\n }\n .align-self-lg-auto {\n align-self: auto;\n }\n .align-self-lg-start {\n align-self: flex-start;\n }\n .align-self-lg-end {\n align-self: flex-end;\n }\n .align-self-lg-center {\n align-self: center;\n }\n .align-self-lg-baseline {\n align-self: baseline;\n }\n .align-self-lg-stretch {\n align-self: stretch;\n }\n .place-items-lg-start {\n place-items: start;\n }\n .place-items-lg-end {\n place-items: end;\n }\n .place-items-lg-center {\n place-items: center;\n }\n .place-items-lg-stretch {\n place-items: stretch;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-last {\n order: 6;\n }\n .m-lg--2 {\n margin: -0.5rem;\n }\n .m-lg--1 {\n margin: -0.25rem;\n }\n .m-lg-0 {\n margin: 0;\n }\n .m-lg-1 {\n margin: 0.25rem;\n }\n .m-lg-2 {\n margin: 0.5rem;\n }\n .m-lg-3 {\n margin: 1rem;\n }\n .m-lg-4 {\n margin: 1.5rem;\n }\n .m-lg-5 {\n margin: 3rem;\n }\n .m-lg-auto {\n margin: auto;\n }\n .mx-lg--2 {\n margin-inline: -0.5rem;\n }\n .mx-lg--1 {\n margin-inline: -0.25rem;\n }\n .mx-lg-0 {\n margin-inline: 0;\n }\n .mx-lg-1 {\n margin-inline: 0.25rem;\n }\n .mx-lg-2 {\n margin-inline: 0.5rem;\n }\n .mx-lg-3 {\n margin-inline: 1rem;\n }\n .mx-lg-4 {\n margin-inline: 1.5rem;\n }\n .mx-lg-5 {\n margin-inline: 3rem;\n }\n .mx-lg-auto {\n margin-inline: auto;\n }\n .my-lg--2 {\n margin-block: -0.5rem;\n }\n .my-lg--1 {\n margin-block: -0.25rem;\n }\n .my-lg-0 {\n margin-block: 0;\n }\n .my-lg-1 {\n margin-block: 0.25rem;\n }\n .my-lg-2 {\n margin-block: 0.5rem;\n }\n .my-lg-3 {\n margin-block: 1rem;\n }\n .my-lg-4 {\n margin-block: 1.5rem;\n }\n .my-lg-5 {\n margin-block: 3rem;\n }\n .my-lg-auto {\n margin-block: auto;\n }\n .mt-lg--2 {\n margin-block-start: -0.5rem;\n }\n .mt-lg--1 {\n margin-block-start: -0.25rem;\n }\n .mt-lg-0 {\n margin-block-start: 0;\n }\n .mt-lg-1 {\n margin-block-start: 0.25rem;\n }\n .mt-lg-2 {\n margin-block-start: 0.5rem;\n }\n .mt-lg-3 {\n margin-block-start: 1rem;\n }\n .mt-lg-4 {\n margin-block-start: 1.5rem;\n }\n .mt-lg-5 {\n margin-block-start: 3rem;\n }\n .mt-lg-auto {\n margin-block-start: auto;\n }\n .me-lg--2 {\n margin-inline-end: -0.5rem;\n }\n .me-lg--1 {\n margin-inline-end: -0.25rem;\n }\n .me-lg-0 {\n margin-inline-end: 0;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem;\n }\n .me-lg-3 {\n margin-inline-end: 1rem;\n }\n .me-lg-4 {\n margin-inline-end: 1.5rem;\n }\n .me-lg-5 {\n margin-inline-end: 3rem;\n }\n .me-lg-auto {\n margin-inline-end: auto;\n }\n .mb-lg--2 {\n margin-block-end: -0.5rem;\n }\n .mb-lg--1 {\n margin-block-end: -0.25rem;\n }\n .mb-lg-0 {\n margin-block-end: 0;\n }\n .mb-lg-1 {\n margin-block-end: 0.25rem;\n }\n .mb-lg-2 {\n margin-block-end: 0.5rem;\n }\n .mb-lg-3 {\n margin-block-end: 1rem;\n }\n .mb-lg-4 {\n margin-block-end: 1.5rem;\n }\n .mb-lg-5 {\n margin-block-end: 3rem;\n }\n .mb-lg-auto {\n margin-block-end: auto;\n }\n .ms-lg--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-lg--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-lg-0 {\n margin-inline-start: 0;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-lg-3 {\n margin-inline-start: 1rem;\n }\n .ms-lg-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-lg-5 {\n margin-inline-start: 3rem;\n }\n .ms-lg-auto {\n margin-inline-start: auto;\n }\n .p-lg--2 {\n padding: -0.5rem;\n }\n .p-lg--1 {\n padding: -0.25rem;\n }\n .p-lg-0 {\n padding: 0;\n }\n .p-lg-1 {\n padding: 0.25rem;\n }\n .p-lg-2 {\n padding: 0.5rem;\n }\n .p-lg-3 {\n padding: 1rem;\n }\n .p-lg-4 {\n padding: 1.5rem;\n }\n .p-lg-5 {\n padding: 3rem;\n }\n .px-lg--2 {\n padding-inline: -0.5rem;\n }\n .px-lg--1 {\n padding-inline: -0.25rem;\n }\n .px-lg-0 {\n padding-inline: 0;\n }\n .px-lg-1 {\n padding-inline: 0.25rem;\n }\n .px-lg-2 {\n padding-inline: 0.5rem;\n }\n .px-lg-3 {\n padding-inline: 1rem;\n }\n .px-lg-4 {\n padding-inline: 1.5rem;\n }\n .px-lg-5 {\n padding-inline: 3rem;\n }\n .py-lg--2 {\n padding-block: -0.5rem;\n }\n .py-lg--1 {\n padding-block: -0.25rem;\n }\n .py-lg-0 {\n padding-block: 0;\n }\n .py-lg-1 {\n padding-block: 0.25rem;\n }\n .py-lg-2 {\n padding-block: 0.5rem;\n }\n .py-lg-3 {\n padding-block: 1rem;\n }\n .py-lg-4 {\n padding-block: 1.5rem;\n }\n .py-lg-5 {\n padding-block: 3rem;\n }\n .pt-lg--2 {\n padding-block-start: -0.5rem;\n }\n .pt-lg--1 {\n padding-block-start: -0.25rem;\n }\n .pt-lg-0 {\n padding-block-start: 0;\n }\n .pt-lg-1 {\n padding-block-start: 0.25rem;\n }\n .pt-lg-2 {\n padding-block-start: 0.5rem;\n }\n .pt-lg-3 {\n padding-block-start: 1rem;\n }\n .pt-lg-4 {\n padding-block-start: 1.5rem;\n }\n .pt-lg-5 {\n padding-block-start: 3rem;\n }\n .pe-lg--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-lg--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-lg-0 {\n padding-inline-end: 0;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-lg-3 {\n padding-inline-end: 1rem;\n }\n .pe-lg-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-lg-5 {\n padding-inline-end: 3rem;\n }\n .pb-lg--2 {\n padding-block-end: -0.5rem;\n }\n .pb-lg--1 {\n padding-block-end: -0.25rem;\n }\n .pb-lg-0 {\n padding-block-end: 0;\n }\n .pb-lg-1 {\n padding-block-end: 0.25rem;\n }\n .pb-lg-2 {\n padding-block-end: 0.5rem;\n }\n .pb-lg-3 {\n padding-block-end: 1rem;\n }\n .pb-lg-4 {\n padding-block-end: 1.5rem;\n }\n .pb-lg-5 {\n padding-block-end: 3rem;\n }\n .ps-lg--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-lg--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-lg-0 {\n padding-inline-start: 0;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-lg-3 {\n padding-inline-start: 1rem;\n }\n .ps-lg-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-lg-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1280px) {\n .d-xl-inline {\n display: inline;\n }\n .d-xl-inline-block {\n display: inline-block;\n }\n .d-xl-block {\n display: block;\n }\n .d-xl-grid {\n display: grid;\n }\n .d-xl-inline-grid {\n display: inline-grid;\n }\n .d-xl-table {\n display: table;\n }\n .d-xl-table-row {\n display: table-row;\n }\n .d-xl-table-cell {\n display: table-cell;\n }\n .d-xl-flex {\n display: flex;\n }\n .d-xl-inline-flex {\n display: inline-flex;\n }\n .d-xl-contents {\n display: contents;\n }\n .d-xl-flow-root {\n display: flow-root;\n }\n .d-xl-none {\n display: none;\n }\n .flex-xl-fill {\n flex: 1 1 auto;\n }\n .flex-xl-row {\n flex-direction: row;\n }\n .flex-xl-column {\n flex-direction: column;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-xl-grow-0 {\n flex-grow: 0;\n }\n .flex-xl-grow-1 {\n flex-grow: 1;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-xl-wrap {\n flex-wrap: wrap;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-xl-start {\n justify-content: flex-start;\n }\n .justify-content-xl-end {\n justify-content: flex-end;\n }\n .justify-content-xl-center {\n justify-content: center;\n }\n .justify-content-xl-between {\n justify-content: space-between;\n }\n .justify-content-xl-around {\n justify-content: space-around;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-xl-start {\n justify-items: start;\n }\n .justify-items-xl-end {\n justify-items: end;\n }\n .justify-items-xl-center {\n justify-items: center;\n }\n .justify-items-xl-stretch {\n justify-items: stretch;\n }\n .align-items-xl-start {\n align-items: flex-start;\n }\n .align-items-xl-end {\n align-items: flex-end;\n }\n .align-items-xl-center {\n align-items: center;\n }\n .align-items-xl-baseline {\n align-items: baseline;\n }\n .align-items-xl-stretch {\n align-items: stretch;\n }\n .align-content-xl-start {\n align-content: flex-start;\n }\n .align-content-xl-end {\n align-content: flex-end;\n }\n .align-content-xl-center {\n align-content: center;\n }\n .align-content-xl-between {\n align-content: space-between;\n }\n .align-content-xl-around {\n align-content: space-around;\n }\n .align-content-xl-stretch {\n align-content: stretch;\n }\n .align-self-xl-auto {\n align-self: auto;\n }\n .align-self-xl-start {\n align-self: flex-start;\n }\n .align-self-xl-end {\n align-self: flex-end;\n }\n .align-self-xl-center {\n align-self: center;\n }\n .align-self-xl-baseline {\n align-self: baseline;\n }\n .align-self-xl-stretch {\n align-self: stretch;\n }\n .place-items-xl-start {\n place-items: start;\n }\n .place-items-xl-end {\n place-items: end;\n }\n .place-items-xl-center {\n place-items: center;\n }\n .place-items-xl-stretch {\n place-items: stretch;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-last {\n order: 6;\n }\n .m-xl--2 {\n margin: -0.5rem;\n }\n .m-xl--1 {\n margin: -0.25rem;\n }\n .m-xl-0 {\n margin: 0;\n }\n .m-xl-1 {\n margin: 0.25rem;\n }\n .m-xl-2 {\n margin: 0.5rem;\n }\n .m-xl-3 {\n margin: 1rem;\n }\n .m-xl-4 {\n margin: 1.5rem;\n }\n .m-xl-5 {\n margin: 3rem;\n }\n .m-xl-auto {\n margin: auto;\n }\n .mx-xl--2 {\n margin-inline: -0.5rem;\n }\n .mx-xl--1 {\n margin-inline: -0.25rem;\n }\n .mx-xl-0 {\n margin-inline: 0;\n }\n .mx-xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-xl-3 {\n margin-inline: 1rem;\n }\n .mx-xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-xl-5 {\n margin-inline: 3rem;\n }\n .mx-xl-auto {\n margin-inline: auto;\n }\n .my-xl--2 {\n margin-block: -0.5rem;\n }\n .my-xl--1 {\n margin-block: -0.25rem;\n }\n .my-xl-0 {\n margin-block: 0;\n }\n .my-xl-1 {\n margin-block: 0.25rem;\n }\n .my-xl-2 {\n margin-block: 0.5rem;\n }\n .my-xl-3 {\n margin-block: 1rem;\n }\n .my-xl-4 {\n margin-block: 1.5rem;\n }\n .my-xl-5 {\n margin-block: 3rem;\n }\n .my-xl-auto {\n margin-block: auto;\n }\n .mt-xl--2 {\n margin-block-start: -0.5rem;\n }\n .mt-xl--1 {\n margin-block-start: -0.25rem;\n }\n .mt-xl-0 {\n margin-block-start: 0;\n }\n .mt-xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-xl-3 {\n margin-block-start: 1rem;\n }\n .mt-xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-xl-5 {\n margin-block-start: 3rem;\n }\n .mt-xl-auto {\n margin-block-start: auto;\n }\n .me-xl--2 {\n margin-inline-end: -0.5rem;\n }\n .me-xl--1 {\n margin-inline-end: -0.25rem;\n }\n .me-xl-0 {\n margin-inline-end: 0;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-xl-3 {\n margin-inline-end: 1rem;\n }\n .me-xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-xl-5 {\n margin-inline-end: 3rem;\n }\n .me-xl-auto {\n margin-inline-end: auto;\n }\n .mb-xl--2 {\n margin-block-end: -0.5rem;\n }\n .mb-xl--1 {\n margin-block-end: -0.25rem;\n }\n .mb-xl-0 {\n margin-block-end: 0;\n }\n .mb-xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-xl-3 {\n margin-block-end: 1rem;\n }\n .mb-xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-xl-5 {\n margin-block-end: 3rem;\n }\n .mb-xl-auto {\n margin-block-end: auto;\n }\n .ms-xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-xl-0 {\n margin-inline-start: 0;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-xl-auto {\n margin-inline-start: auto;\n }\n .p-xl--2 {\n padding: -0.5rem;\n }\n .p-xl--1 {\n padding: -0.25rem;\n }\n .p-xl-0 {\n padding: 0;\n }\n .p-xl-1 {\n padding: 0.25rem;\n }\n .p-xl-2 {\n padding: 0.5rem;\n }\n .p-xl-3 {\n padding: 1rem;\n }\n .p-xl-4 {\n padding: 1.5rem;\n }\n .p-xl-5 {\n padding: 3rem;\n }\n .px-xl--2 {\n padding-inline: -0.5rem;\n }\n .px-xl--1 {\n padding-inline: -0.25rem;\n }\n .px-xl-0 {\n padding-inline: 0;\n }\n .px-xl-1 {\n padding-inline: 0.25rem;\n }\n .px-xl-2 {\n padding-inline: 0.5rem;\n }\n .px-xl-3 {\n padding-inline: 1rem;\n }\n .px-xl-4 {\n padding-inline: 1.5rem;\n }\n .px-xl-5 {\n padding-inline: 3rem;\n }\n .py-xl--2 {\n padding-block: -0.5rem;\n }\n .py-xl--1 {\n padding-block: -0.25rem;\n }\n .py-xl-0 {\n padding-block: 0;\n }\n .py-xl-1 {\n padding-block: 0.25rem;\n }\n .py-xl-2 {\n padding-block: 0.5rem;\n }\n .py-xl-3 {\n padding-block: 1rem;\n }\n .py-xl-4 {\n padding-block: 1.5rem;\n }\n .py-xl-5 {\n padding-block: 3rem;\n }\n .pt-xl--2 {\n padding-block-start: -0.5rem;\n }\n .pt-xl--1 {\n padding-block-start: -0.25rem;\n }\n .pt-xl-0 {\n padding-block-start: 0;\n }\n .pt-xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-xl-3 {\n padding-block-start: 1rem;\n }\n .pt-xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-xl-5 {\n padding-block-start: 3rem;\n }\n .pe-xl--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-xl--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-xl-0 {\n padding-inline-end: 0;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-xl--2 {\n padding-block-end: -0.5rem;\n }\n .pb-xl--1 {\n padding-block-end: -0.25rem;\n }\n .pb-xl-0 {\n padding-block-end: 0;\n }\n .pb-xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-xl-3 {\n padding-block-end: 1rem;\n }\n .pb-xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-xl-5 {\n padding-block-end: 3rem;\n }\n .ps-xl--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-xl--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-xl-0 {\n padding-inline-start: 0;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-xl-5 {\n padding-inline-start: 3rem;\n }\n }\n @media (width >= 1536px) {\n .d-2xl-inline {\n display: inline;\n }\n .d-2xl-inline-block {\n display: inline-block;\n }\n .d-2xl-block {\n display: block;\n }\n .d-2xl-grid {\n display: grid;\n }\n .d-2xl-inline-grid {\n display: inline-grid;\n }\n .d-2xl-table {\n display: table;\n }\n .d-2xl-table-row {\n display: table-row;\n }\n .d-2xl-table-cell {\n display: table-cell;\n }\n .d-2xl-flex {\n display: flex;\n }\n .d-2xl-inline-flex {\n display: inline-flex;\n }\n .d-2xl-contents {\n display: contents;\n }\n .d-2xl-flow-root {\n display: flow-root;\n }\n .d-2xl-none {\n display: none;\n }\n .flex-2xl-fill {\n flex: 1 1 auto;\n }\n .flex-2xl-row {\n flex-direction: row;\n }\n .flex-2xl-column {\n flex-direction: column;\n }\n .flex-2xl-row-reverse {\n flex-direction: row-reverse;\n }\n .flex-2xl-column-reverse {\n flex-direction: column-reverse;\n }\n .flex-2xl-grow-0 {\n flex-grow: 0;\n }\n .flex-2xl-grow-1 {\n flex-grow: 1;\n }\n .flex-2xl-shrink-0 {\n flex-shrink: 0;\n }\n .flex-2xl-shrink-1 {\n flex-shrink: 1;\n }\n .flex-2xl-wrap {\n flex-wrap: wrap;\n }\n .flex-2xl-nowrap {\n flex-wrap: nowrap;\n }\n .flex-2xl-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n .justify-content-2xl-start {\n justify-content: flex-start;\n }\n .justify-content-2xl-end {\n justify-content: flex-end;\n }\n .justify-content-2xl-center {\n justify-content: center;\n }\n .justify-content-2xl-between {\n justify-content: space-between;\n }\n .justify-content-2xl-around {\n justify-content: space-around;\n }\n .justify-content-2xl-evenly {\n justify-content: space-evenly;\n }\n .justify-items-2xl-start {\n justify-items: start;\n }\n .justify-items-2xl-end {\n justify-items: end;\n }\n .justify-items-2xl-center {\n justify-items: center;\n }\n .justify-items-2xl-stretch {\n justify-items: stretch;\n }\n .align-items-2xl-start {\n align-items: flex-start;\n }\n .align-items-2xl-end {\n align-items: flex-end;\n }\n .align-items-2xl-center {\n align-items: center;\n }\n .align-items-2xl-baseline {\n align-items: baseline;\n }\n .align-items-2xl-stretch {\n align-items: stretch;\n }\n .align-content-2xl-start {\n align-content: flex-start;\n }\n .align-content-2xl-end {\n align-content: flex-end;\n }\n .align-content-2xl-center {\n align-content: center;\n }\n .align-content-2xl-between {\n align-content: space-between;\n }\n .align-content-2xl-around {\n align-content: space-around;\n }\n .align-content-2xl-stretch {\n align-content: stretch;\n }\n .align-self-2xl-auto {\n align-self: auto;\n }\n .align-self-2xl-start {\n align-self: flex-start;\n }\n .align-self-2xl-end {\n align-self: flex-end;\n }\n .align-self-2xl-center {\n align-self: center;\n }\n .align-self-2xl-baseline {\n align-self: baseline;\n }\n .align-self-2xl-stretch {\n align-self: stretch;\n }\n .place-items-2xl-start {\n place-items: start;\n }\n .place-items-2xl-end {\n place-items: end;\n }\n .place-items-2xl-center {\n place-items: center;\n }\n .place-items-2xl-stretch {\n place-items: stretch;\n }\n .order-2xl-first {\n order: -1;\n }\n .order-2xl-0 {\n order: 0;\n }\n .order-2xl-1 {\n order: 1;\n }\n .order-2xl-2 {\n order: 2;\n }\n .order-2xl-3 {\n order: 3;\n }\n .order-2xl-4 {\n order: 4;\n }\n .order-2xl-5 {\n order: 5;\n }\n .order-2xl-last {\n order: 6;\n }\n .m-2xl--2 {\n margin: -0.5rem;\n }\n .m-2xl--1 {\n margin: -0.25rem;\n }\n .m-2xl-0 {\n margin: 0;\n }\n .m-2xl-1 {\n margin: 0.25rem;\n }\n .m-2xl-2 {\n margin: 0.5rem;\n }\n .m-2xl-3 {\n margin: 1rem;\n }\n .m-2xl-4 {\n margin: 1.5rem;\n }\n .m-2xl-5 {\n margin: 3rem;\n }\n .m-2xl-auto {\n margin: auto;\n }\n .mx-2xl--2 {\n margin-inline: -0.5rem;\n }\n .mx-2xl--1 {\n margin-inline: -0.25rem;\n }\n .mx-2xl-0 {\n margin-inline: 0;\n }\n .mx-2xl-1 {\n margin-inline: 0.25rem;\n }\n .mx-2xl-2 {\n margin-inline: 0.5rem;\n }\n .mx-2xl-3 {\n margin-inline: 1rem;\n }\n .mx-2xl-4 {\n margin-inline: 1.5rem;\n }\n .mx-2xl-5 {\n margin-inline: 3rem;\n }\n .mx-2xl-auto {\n margin-inline: auto;\n }\n .my-2xl--2 {\n margin-block: -0.5rem;\n }\n .my-2xl--1 {\n margin-block: -0.25rem;\n }\n .my-2xl-0 {\n margin-block: 0;\n }\n .my-2xl-1 {\n margin-block: 0.25rem;\n }\n .my-2xl-2 {\n margin-block: 0.5rem;\n }\n .my-2xl-3 {\n margin-block: 1rem;\n }\n .my-2xl-4 {\n margin-block: 1.5rem;\n }\n .my-2xl-5 {\n margin-block: 3rem;\n }\n .my-2xl-auto {\n margin-block: auto;\n }\n .mt-2xl--2 {\n margin-block-start: -0.5rem;\n }\n .mt-2xl--1 {\n margin-block-start: -0.25rem;\n }\n .mt-2xl-0 {\n margin-block-start: 0;\n }\n .mt-2xl-1 {\n margin-block-start: 0.25rem;\n }\n .mt-2xl-2 {\n margin-block-start: 0.5rem;\n }\n .mt-2xl-3 {\n margin-block-start: 1rem;\n }\n .mt-2xl-4 {\n margin-block-start: 1.5rem;\n }\n .mt-2xl-5 {\n margin-block-start: 3rem;\n }\n .mt-2xl-auto {\n margin-block-start: auto;\n }\n .me-2xl--2 {\n margin-inline-end: -0.5rem;\n }\n .me-2xl--1 {\n margin-inline-end: -0.25rem;\n }\n .me-2xl-0 {\n margin-inline-end: 0;\n }\n .me-2xl-1 {\n margin-inline-end: 0.25rem;\n }\n .me-2xl-2 {\n margin-inline-end: 0.5rem;\n }\n .me-2xl-3 {\n margin-inline-end: 1rem;\n }\n .me-2xl-4 {\n margin-inline-end: 1.5rem;\n }\n .me-2xl-5 {\n margin-inline-end: 3rem;\n }\n .me-2xl-auto {\n margin-inline-end: auto;\n }\n .mb-2xl--2 {\n margin-block-end: -0.5rem;\n }\n .mb-2xl--1 {\n margin-block-end: -0.25rem;\n }\n .mb-2xl-0 {\n margin-block-end: 0;\n }\n .mb-2xl-1 {\n margin-block-end: 0.25rem;\n }\n .mb-2xl-2 {\n margin-block-end: 0.5rem;\n }\n .mb-2xl-3 {\n margin-block-end: 1rem;\n }\n .mb-2xl-4 {\n margin-block-end: 1.5rem;\n }\n .mb-2xl-5 {\n margin-block-end: 3rem;\n }\n .mb-2xl-auto {\n margin-block-end: auto;\n }\n .ms-2xl--2 {\n margin-inline-start: -0.5rem;\n }\n .ms-2xl--1 {\n margin-inline-start: -0.25rem;\n }\n .ms-2xl-0 {\n margin-inline-start: 0;\n }\n .ms-2xl-1 {\n margin-inline-start: 0.25rem;\n }\n .ms-2xl-2 {\n margin-inline-start: 0.5rem;\n }\n .ms-2xl-3 {\n margin-inline-start: 1rem;\n }\n .ms-2xl-4 {\n margin-inline-start: 1.5rem;\n }\n .ms-2xl-5 {\n margin-inline-start: 3rem;\n }\n .ms-2xl-auto {\n margin-inline-start: auto;\n }\n .p-2xl--2 {\n padding: -0.5rem;\n }\n .p-2xl--1 {\n padding: -0.25rem;\n }\n .p-2xl-0 {\n padding: 0;\n }\n .p-2xl-1 {\n padding: 0.25rem;\n }\n .p-2xl-2 {\n padding: 0.5rem;\n }\n .p-2xl-3 {\n padding: 1rem;\n }\n .p-2xl-4 {\n padding: 1.5rem;\n }\n .p-2xl-5 {\n padding: 3rem;\n }\n .px-2xl--2 {\n padding-inline: -0.5rem;\n }\n .px-2xl--1 {\n padding-inline: -0.25rem;\n }\n .px-2xl-0 {\n padding-inline: 0;\n }\n .px-2xl-1 {\n padding-inline: 0.25rem;\n }\n .px-2xl-2 {\n padding-inline: 0.5rem;\n }\n .px-2xl-3 {\n padding-inline: 1rem;\n }\n .px-2xl-4 {\n padding-inline: 1.5rem;\n }\n .px-2xl-5 {\n padding-inline: 3rem;\n }\n .py-2xl--2 {\n padding-block: -0.5rem;\n }\n .py-2xl--1 {\n padding-block: -0.25rem;\n }\n .py-2xl-0 {\n padding-block: 0;\n }\n .py-2xl-1 {\n padding-block: 0.25rem;\n }\n .py-2xl-2 {\n padding-block: 0.5rem;\n }\n .py-2xl-3 {\n padding-block: 1rem;\n }\n .py-2xl-4 {\n padding-block: 1.5rem;\n }\n .py-2xl-5 {\n padding-block: 3rem;\n }\n .pt-2xl--2 {\n padding-block-start: -0.5rem;\n }\n .pt-2xl--1 {\n padding-block-start: -0.25rem;\n }\n .pt-2xl-0 {\n padding-block-start: 0;\n }\n .pt-2xl-1 {\n padding-block-start: 0.25rem;\n }\n .pt-2xl-2 {\n padding-block-start: 0.5rem;\n }\n .pt-2xl-3 {\n padding-block-start: 1rem;\n }\n .pt-2xl-4 {\n padding-block-start: 1.5rem;\n }\n .pt-2xl-5 {\n padding-block-start: 3rem;\n }\n .pe-2xl--2 {\n padding-inline-end: -0.5rem;\n }\n .pe-2xl--1 {\n padding-inline-end: -0.25rem;\n }\n .pe-2xl-0 {\n padding-inline-end: 0;\n }\n .pe-2xl-1 {\n padding-inline-end: 0.25rem;\n }\n .pe-2xl-2 {\n padding-inline-end: 0.5rem;\n }\n .pe-2xl-3 {\n padding-inline-end: 1rem;\n }\n .pe-2xl-4 {\n padding-inline-end: 1.5rem;\n }\n .pe-2xl-5 {\n padding-inline-end: 3rem;\n }\n .pb-2xl--2 {\n padding-block-end: -0.5rem;\n }\n .pb-2xl--1 {\n padding-block-end: -0.25rem;\n }\n .pb-2xl-0 {\n padding-block-end: 0;\n }\n .pb-2xl-1 {\n padding-block-end: 0.25rem;\n }\n .pb-2xl-2 {\n padding-block-end: 0.5rem;\n }\n .pb-2xl-3 {\n padding-block-end: 1rem;\n }\n .pb-2xl-4 {\n padding-block-end: 1.5rem;\n }\n .pb-2xl-5 {\n padding-block-end: 3rem;\n }\n .ps-2xl--2 {\n padding-inline-start: -0.5rem;\n }\n .ps-2xl--1 {\n padding-inline-start: -0.25rem;\n }\n .ps-2xl-0 {\n padding-inline-start: 0;\n }\n .ps-2xl-1 {\n padding-inline-start: 0.25rem;\n }\n .ps-2xl-2 {\n padding-inline-start: 0.5rem;\n }\n .ps-2xl-3 {\n padding-inline-start: 1rem;\n }\n .ps-2xl-4 {\n padding-inline-start: 1.5rem;\n }\n .ps-2xl-5 {\n padding-inline-start: 3rem;\n }\n }\n}\n:root {\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --gutter-x: #{$gutter};\n --gutter-y: 0;\n width: 100%;\n padding-inline: calc(var(--gutter-x) * .5);\n margin-inline: auto;\n}\n\n@layer layout {\n @if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $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","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$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: 1024px, xl: 1280px, 2xl: 1536px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n// md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n $n: list.index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n }\n // Use @if/@else because list.nth would error if evaluated when $n equals list length\n @if $n < list.length($breakpoint-names) {\n @return list.nth($breakpoint-names, $n + 1);\n } @else {\n @return null;\n }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n $min: map.get($breakpoints, $name);\n @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// 576px\n// >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n @if $name == null {\n @return null;\n }\n $max: map.get($breakpoints, $name);\n @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $breakpoints) {\n @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$name}\");\n}\n\n// Iterate all breakpoints and provide the current name and infix.\n//\n// @include loop-breakpoints-up() using ($breakpoint, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n @content($breakpoint, $infix);\n }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next infix.\n//\n// @include loop-breakpoints-down() using ($breakpoint, $next, $infix) {\n// // ...\n// }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $next: breakpoint-next($breakpoint, $breakpoints);\n $infix: breakpoint-infix($next, $breakpoints);\n @content($breakpoint, $next, $infix);\n }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $infix) {\n @content($breakpoint, $next, $infix);\n }\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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (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: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (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: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (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: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (width >= $min) and (width < $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n// @include set-container(); // container-type: inline-size\n// @include set-container(size); // container-type: size\n// @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n @if $name {\n container: #{$name} / #{$type};\n } @else {\n container-type: #{$type};\n }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n// @include container-breakpoint-up(md) { ... }\n// @include container-breakpoint-up(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n// @include container-breakpoint-down(lg) { ... }\n// @include container-breakpoint-down(lg, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @if $container-name {\n @container #{$container-name} (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width < #{$max}) {\n @content;\n }\n }\n } @else {\n @content;\n }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n// @include container-breakpoint-between(md, xl) { ... }\n// @include container-breakpoint-between(md, xl, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n\n// Container query 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 within the container.\n//\n// @include container-breakpoint-only(md) { ... }\n// @include container-breakpoint-only(md, sidebar) { ... } // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @if $container-name {\n @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n } @else {\n @container (width >= #{$min}) and (width < #{$max}) {\n @content;\n }\n }\n } @else if $max == null {\n @include container-breakpoint-up($name, $container-name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include container-breakpoint-down($next, $container-name, $breakpoints) {\n @content;\n }\n }\n}\n// scss-docs-end container-query-mixins\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: true !default;\n$enable-button-pointers: true !default;\n$enable-validation-icons: true !default;\n// $enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type: \"media-query\" !default;\n$color-contrast-dark: #000 !default;\n$color-contrast-light: #fff !default;\n$min-contrast-ratio: 4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n -2: $spacer * -.5,\n -1: $spacer * -.25,\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n 1: $spacer,\n 2: calc($spacer * 2),\n 3: calc($spacer * 3),\n 4: calc($spacer * 4),\n 5: calc($spacer * 5),\n 6: calc($spacer * 6),\n 7: calc($spacer * 7),\n 8: calc($spacer * 8),\n 9: calc($spacer * 9),\n 10: calc($spacer * 10),\n 11: calc($spacer * 11),\n 12: calc($spacer * 12),\n) !default;\n\n// 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// scss-docs-start breakpoints\n$breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n 2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\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-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n 2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !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","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n @if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n\n @include make-grid-columns();\n }\n\n @if $enable-cssgrid {\n .grid {\n --columns: #{$grid-columns};\n --rows: 1;\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-rows: repeat(var(--rows), 1fr);\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap);\n\n }\n\n @include make-cssgrid();\n }\n\n // mdo-do: add to utilities?\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n\n .grid-fill {\n --gap: #{$grid-gutter-x};\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n grid-auto-flow: row;\n gap: var(--gap);\n }\n\n // .g-col-auto {\n // grid-column: auto;\n // }\n\n // mdo-do: add to utilities?\n // .grid-cols-3 {\n // --columns: 3;\n // }\n // .grid-cols-4 {\n // --columns: 4;\n // }\n // .grid-cols-6 {\n // --columns: 6;\n // }\n\n // .grid-full {\n // grid-column: 1 / -1;\n // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n --gutter-x: #{$gutter-x};\n --gutter-y: #{$gutter-y};\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-inline: calc(-.5 * var(--gutter-x));\n margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n // stylelint-disable-next-line scss/at-function-named-arguments\n box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-inline: calc(var(--gutter-x) * .5);\n margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: math.percentage(math.div($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: math.div($size, $columns);\n // stylelint-disable-next-line scss/at-function-named-arguments\n margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n @each $breakpoint in map.keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n // Loop over each breakpoint\n @each $breakpoint in map.keys($breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n }\n\n // Print utilities\n @media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n// - class: .class\n// - attr-starts: [class^=\"class\"]\n// - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n// property: (\n// \"--bg\": null,\n// \"background-color\": var(--bg)\n// ),\n// class: bg,\n// values: (\n// primary: var(--blue-500),\n// )\n// )\n// Generates:\n// .bg-primary {\n// --bs-bg: var(--bs-blue-500);\n// background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n// property: text-decoration-color,\n// class: link-underline,\n// variables: (\n// \"link-underline-opacity\": 1\n// ),\n// values: (...)\n// )\n// Generates:\n// .link-underline {\n// --bs-link-underline-opacity: 1;\n// text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n @if $propertyMap != null {\n // New Property-Value Mapping approach\n @each $property, $defaultValue in $propertyMap {\n // If value is a map, check if it has a key for this property\n // Otherwise, use defaultValue (or $value if defaultValue is null)\n $actualValue: $defaultValue;\n @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n $actualValue: map.get($value, $property);\n } @else if $defaultValue == null {\n $actualValue: $value;\n }\n @if map.get($utility, important) {\n #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $actualValue;\n }\n }\n } @else {\n // Legacy approach\n @each $property in $properties {\n @if map.get($utility, important) {\n #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n } @else {\n #{$property}: $value;\n }\n }\n }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n // Validate required keys\n @if not map.has-key($utility, property) {\n @error \"Utility is missing required `property` key: #{$utility}\";\n }\n @if not map.has-key($utility, values) {\n @error \"Utility is missing required `values` key: #{$utility}\";\n }\n\n // Warn on unknown keys (likely typos)\n $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n @each $key in map.keys($utility) {\n @if not list.index($valid-keys, $key) {\n @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n }\n }\n\n // Determine if we're generating a class, or an attribute selector\n $selectorType: \"class\";\n @if map.has-key($utility, selector) {\n $selectorType: map.get($utility, selector);\n // Validate selector type\n $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n @if not list.index($valid-selectors, $selectorType) {\n @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n }\n }\n // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n $selectorClass: map.get($utility, class);\n\n // Attribute selectors require a `class` key\n @if $selectorType != \"class\" and not map.has-key($utility, class) {\n @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n }\n\n // Get the list or map of values and ensure it's a map\n $values: map.get($utility, values);\n @if meta.type-of($values) != \"map\" {\n @if meta.type-of($values) == \"list\" {\n $list: ();\n @each $value in $values {\n $list: map.merge($list, ($value: $value));\n }\n $values: $list;\n } @else {\n $values: (null: $values);\n }\n }\n\n // Calculate infix once, before the loop\n // Note: $infix already includes the leading dash from breakpoint-infix()\n // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n @each $key, $value in $values {\n $properties: map.get($utility, property);\n $propertyMap: null;\n $customClass: \"\";\n\n // Check if property is a map (new Property-Value Mapping approach)\n // @debug \"Properties type: #{meta.type-of($properties)}\";\n // @debug \"Properties: #{$properties}\";\n @if meta.type-of($properties) == \"map\" {\n $propertyMap: $properties;\n // For property maps, we need to determine the class from the utility definition\n $customClass: \"\";\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n }\n } @else {\n // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if meta.type-of($properties) == \"string\" {\n $properties: list.append((), $properties);\n }\n // Use custom class if present, otherwise use the first value from the list of properties\n @if map.has-key($utility, class) {\n $customClass: map.get($utility, class);\n } @else {\n $customClass: list.nth($properties, 1);\n }\n @if $customClass == null {\n $customClass: \"\";\n }\n }\n\n // Use custom CSS variable name if present, otherwise default to `class`\n // mdo-do: restore?\n // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n // State params to generate state variants\n $state: ();\n @if map.has-key($utility, state) {\n $state: map.get($utility, state);\n }\n\n // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $customClassModifier: \"\";\n @if $key {\n @if $customClass == \"\" and $infix == \"\" {\n $customClassModifier: $key;\n } @else {\n $customClassModifier: \"-\" + $key;\n }\n }\n\n $selector: \"\";\n @if $selectorType == \"class\" {\n // Use the fallback of the first property if no `class` key is used\n @if $customClass != \"\" {\n $selector: \".#{$customClass + $infix + $customClassModifier}\";\n } @else {\n $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n }\n } @else if $selectorType == \"attr-starts\" {\n $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n } @else if $selectorType == \"attr-includes\" {\n $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n }\n\n // @debug $utility;\n // @debug $selectorType;\n // @debug $selector;\n // @debug $properties;\n // @debug $values;\n\n #{$selector} {\n // Generate CSS custom properties (variables) if provided\n // Variables receive the current utility value, then properties reference them\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n\n // Generate state variants\n @if $state != () {\n @each $state-variant in $state {\n #{$selector}-#{$state-variant}:#{$state-variant} {\n // Generate CSS custom properties (variables) if provided\n @if map.has-key($utility, variables) {\n $variables: map.get($utility, variables);\n @if meta.type-of($variables) == \"list\" {\n // If variables is a list, each variable gets the utility value\n @each $var-name in $variables {\n --#{$var-name}: #{$value};\n }\n } @else if meta.type-of($variables) == \"map\" {\n // If variables is a map, use the provided values (for static variables)\n @each $var-key, $var-value in $variables {\n --#{$var-key}: #{$var-value};\n }\n }\n }\n @include generate-properties($utility, $propertyMap, $properties, $value);\n }\n }\n }\n }\n}\n","@use \"banner\" with (\n $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"justify-items\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"place-items\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n @each $name, $value in $breakpoints {\n --breakpoint-#{$name}: #{$value};\n }\n}\n"],"names":[]} \ No newline at end of file diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css index 0ad9855ebba1..7637a32e48d4 100644 --- a/dist/css/bootstrap-reboot.css +++ b/dist/css/bootstrap-reboot.css @@ -287,7 +287,7 @@ --bs-control-disabled-opacity: 0.65; --bs-btn-input-fg: var(--bs-fg-body); --bs-btn-input-bg: var(--bs-bg-body); - --bs-btn-input-min-height: 2.5rem; + --bs-btn-input-min-height: 2.375rem; --bs-btn-input-padding-y: 0.375rem; --bs-btn-input-padding-x: 0.75rem; --bs-btn-input-font-size: var(--bs-font-size-base); @@ -299,13 +299,13 @@ --bs-btn-input-xs-font-size: var(--bs-font-size-xs); --bs-btn-input-xs-line-height: 1.125; --bs-btn-input-xs-border-radius: var(--bs-border-radius-xs); - --bs-btn-input-sm-min-height: 2.25rem; + --bs-btn-input-sm-min-height: 2rem; --bs-btn-input-sm-padding-y: 0.25rem; --bs-btn-input-sm-padding-x: 0.625rem; --bs-btn-input-sm-font-size: var(--bs-font-size-sm); --bs-btn-input-sm-line-height: var(--bs-line-height-sm); --bs-btn-input-sm-border-radius: var(--bs-border-radius-sm); - --bs-btn-input-lg-min-height: 3rem; + --bs-btn-input-lg-min-height: 2.75rem; --bs-btn-input-lg-padding-y: 0.5rem; --bs-btn-input-lg-padding-x: 1rem; --bs-btn-input-lg-font-size: var(--bs-font-size-md); @@ -411,6 +411,12 @@ --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600)); --bs-border-white: var(--bs-white); --bs-border-black: var(--bs-black); + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 1024px; + --bs-breakpoint-xl: 1280px; + --bs-breakpoint-2xl: 1536px; color-scheme: light dark; } @@ -729,9 +735,13 @@ } ::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-text, - ::-webkit-datetime-edit-minute, + ::-webkit-datetime-edit-millisecond-field, + ::-webkit-datetime-edit-second-field, + ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-hour-field, + ::-webkit-datetime-edit-ampm-field, ::-webkit-datetime-edit-day-field, + ::-webkit-datetime-edit-week-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-year-field { padding: 0; diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map index f9a0f080a724..4fc6fbc9e6a7 100644 --- a/dist/css/bootstrap-reboot.css.map +++ b/dist/css/bootstrap-reboot.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","bootstrap-reboot.css","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"violet\": $violet,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"amber\": $amber,\n \"yellow\": $yellow,\n \"lime\": $lime,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"brown\": $brown,\n \"gray\": $gray,\n \"pewter\": $pewter,\n ),\n $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n \"025\": 94%,\n \"050\": 90%,\n \"100\": 80%,\n \"200\": 60%,\n \"300\": 40%,\n \"400\": 20%,\n) !default;\n\n$color-shades: (\n \"600\": 16%,\n \"700\": 32%,\n \"800\": 48%,\n \"900\": 64%,\n \"950\": 76%,\n \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n @each $stop, $percent in $color-tints {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n }\n $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n @each $stop, $percent in $color-shades {\n $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n @each $prop, $value in $map {\n #{$prop}: #{$value};\n }\n}\n// scss-docs-end mixin-tokens\n","/*!\n * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n * Copyright 2011-2026 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n --blue-500: oklch(60% 0.24 240deg);\n --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n --indigo-500: oklch(56% 0.26 288deg);\n --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n --violet-500: oklch(56% 0.24 300deg);\n --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n --purple-500: oklch(56% 0.24 320deg);\n --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n --pink-500: oklch(60% 0.22 4deg);\n --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n --red-500: oklch(60% 0.22 20deg);\n --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n --orange-500: oklch(70% 0.22 52deg);\n --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n --amber-500: oklch(79% 0.2 78deg);\n --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n --yellow-500: oklch(88% 0.24 88deg);\n --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n --lime-500: oklch(65% 0.24 135deg);\n --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n --green-500: oklch(64% 0.22 160deg);\n --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n --teal-500: oklch(68% 0.22 190deg);\n --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n --cyan-500: oklch(69% 0.22 220deg);\n --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n --brown-500: oklch(60% 0.12 54deg);\n --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n --gray-500: oklch(60% 0.02 245deg);\n --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n --pewter-500: oklch(65% 0.01 290deg);\n --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n --black: #000;\n --white: #fff;\n --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n --font-size-base: 1rem;\n --font-size-xs: 0.75rem;\n --font-size-sm: 0.875rem;\n --font-size-md: 1rem;\n --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n --line-height-xs: 1.25;\n --line-height-sm: 1.5;\n --line-height-md: 1.5;\n --line-height-lg: 1.5;\n --line-height-xl: 1.4285714286;\n --line-height-2xl: 1.3333333333;\n --line-height-3xl: 1.2;\n --line-height-4xl: 1.1;\n --line-height-5xl: 1.1;\n --line-height-6xl: 1;\n --font-weight-lighter: lighter;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-bolder: bolder;\n --body-font-family: system-ui;\n --body-font-size: var(--font-size-base);\n --body-font-weight: 400;\n --body-line-height: 1.5;\n --heading-color: inherit;\n --hr-border-color: var(--border-color);\n --link-color: light-dark(var(--primary-base), var(--primary-text));\n --link-decoration: underline;\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --code-font-size: 95%;\n --code-color: var(--fg-2);\n --border-width: 1px;\n --border-style: solid;\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n --border-radius: 0.5rem;\n --border-radius-xs: 0.375rem;\n --border-radius-sm: 0.5rem;\n --border-radius-lg: 0.75rem;\n --border-radius-xl: 1rem;\n --border-radius-2xl: 2rem;\n --border-radius-pill: 50rem;\n --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --spacer: 1rem;\n --focus-ring-width: 3px;\n --focus-ring-offset: 1px;\n --focus-ring-color: var(--primary-focus-ring);\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n --control-checked-bg: var(--primary-base);\n --control-checked-border-color: var(--control-checked-bg);\n --control-active-bg: var(--primary-base);\n --control-active-border-color: var(--control-active-bg);\n --control-disabled-bg: var(--bg-3);\n --control-disabled-opacity: 0.65;\n --btn-input-fg: var(--fg-body);\n --btn-input-bg: var(--bg-body);\n --btn-input-min-height: 2.5rem;\n --btn-input-padding-y: 0.375rem;\n --btn-input-padding-x: 0.75rem;\n --btn-input-font-size: var(--font-size-base);\n --btn-input-line-height: var(--line-height-base);\n --btn-input-border-radius: var(--border-radius);\n --btn-input-xs-min-height: 1.5rem;\n --btn-input-xs-padding-y: 0.125rem;\n --btn-input-xs-padding-x: 0.5rem;\n --btn-input-xs-font-size: var(--font-size-xs);\n --btn-input-xs-line-height: 1.125;\n --btn-input-xs-border-radius: var(--border-radius-xs);\n --btn-input-sm-min-height: 2.25rem;\n --btn-input-sm-padding-y: 0.25rem;\n --btn-input-sm-padding-x: 0.625rem;\n --btn-input-sm-font-size: var(--font-size-sm);\n --btn-input-sm-line-height: var(--line-height-sm);\n --btn-input-sm-border-radius: var(--border-radius-sm);\n --btn-input-lg-min-height: 3rem;\n --btn-input-lg-padding-y: 0.5rem;\n --btn-input-lg-padding-x: 1rem;\n --btn-input-lg-font-size: var(--font-size-md);\n --btn-input-lg-line-height: var(--line-height-md);\n --btn-input-lg-border-radius: var(--border-radius-lg);\n --form-valid-color: var(--success-text);\n --form-valid-border-color: var(--success-text);\n --form-invalid-color: var(--danger-text);\n --form-invalid-border-color: var(--danger-text);\n --primary-base: var(--blue-500);\n --primary-text: light-dark(var(--blue-600), var(--blue-400));\n --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n --primary-bg: var(--blue-500);\n --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n --primary-border: light-dark(var(--blue-300), var(--blue-600));\n --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n --primary-contrast: var(--white);\n --accent-base: var(--indigo-500);\n --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n --accent-bg: var(--indigo-500);\n --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n --accent-contrast: var(--white);\n --success-base: var(--green-500);\n --success-text: light-dark(var(--green-600), var(--green-400));\n --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n --success-bg: var(--green-500);\n --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n --success-border: light-dark(var(--green-300), var(--green-600));\n --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n --success-contrast: var(--white);\n --danger-base: var(--red-500);\n --danger-text: light-dark(var(--red-600), var(--red-400));\n --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n --danger-bg: var(--red-500);\n --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n --danger-border: light-dark(var(--red-300), var(--red-600));\n --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n --danger-contrast: var(--white);\n --warning-base: var(--yellow-500);\n --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n --warning-bg: var(--yellow-500);\n --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n --warning-contrast: var(--gray-900);\n --info-base: var(--cyan-500);\n --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n --info-bg: var(--cyan-500);\n --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n --info-contrast: var(--gray-900);\n --inverse-base: var(--gray-900);\n --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n --inverse-contrast: light-dark(var(--white), var(--gray-900));\n --secondary-base: var(--gray-200);\n --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n --secondary-contrast: light-dark(var(--gray-900), var(--white));\n --bg-body: light-dark(var(--white), var(--gray-975));\n --bg-1: light-dark(var(--gray-025), var(--gray-950));\n --bg-2: light-dark(var(--gray-050), var(--gray-900));\n --bg-3: light-dark(var(--gray-100), var(--gray-800));\n --bg-4: light-dark(var(--gray-200), var(--gray-700));\n --bg-white: var(--white);\n --bg-black: var(--black);\n --bg-transparent: transparent;\n --bg-inherit: inherit;\n --fg-body: light-dark(var(--gray-900), var(--gray-050));\n --fg-1: light-dark(var(--gray-800), var(--gray-200));\n --fg-2: light-dark(var(--gray-700), var(--gray-300));\n --fg-3: light-dark(var(--gray-600), var(--gray-500));\n --fg-4: light-dark(var(--gray-500), var(--gray-600));\n --fg-white: var(--white);\n --fg-black: var(--black);\n --fg-inherit: inherit;\n --border-bg: var(--bg-body);\n --border-body: light-dark(var(--gray-300), var(--gray-800));\n --border-muted: light-dark(var(--gray-200), var(--gray-800));\n --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n --border-white: var(--white);\n --border-black: var(--black);\n color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n color-scheme: light;\n}\n\n@layer reboot {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n :root {\n accent-color: var(--primary-base);\n }\n @media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n }\n body {\n margin: 0;\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n h6,\n .h6, h5,\n .h5, h4,\n .h4, h3,\n .h3, h2,\n .h2, h1,\n .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--heading-color);\n }\n h1,\n .h1 {\n font-size: var(--font-size-3xl);\n }\n h2,\n .h2 {\n font-size: var(--font-size-2xl);\n }\n h3,\n .h3 {\n font-size: var(--font-size-xl);\n }\n h4,\n .h4 {\n font-size: var(--font-size-lg);\n }\n h5,\n .h5 {\n font-size: var(--font-size-md);\n }\n h6,\n .h6 {\n font-size: var(--font-size-sm);\n }\n p {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n abbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n }\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n dt {\n font-weight: 700;\n }\n dd {\n margin-inline-start: 0;\n margin-bottom: 0.5rem;\n }\n blockquote {\n margin: 0 0 1rem;\n }\n blockquote > * {\n margin-block: 0;\n }\n b,\n strong {\n font-weight: bolder;\n }\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n mark,\n .mark {\n --mark-padding: 0.1875em;\n --mark-color: var(--fg-body);\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, 0.75em);\n line-height: 0;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: 0.2em;\n }\n a:hover {\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-decoration));\n }\n a:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em;\n }\n pre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n code {\n font-size: var(--code-font-size);\n color: var(--code-color);\n word-wrap: break-word;\n }\n a > code {\n color: inherit;\n }\n kbd {\n --kbd-padding-y: 0.125rem;\n --kbd-padding-x: 0.25rem;\n --kbd-font-size: var(--font-size-xs);\n --kbd-color: var(--bg-body);\n --kbd-bg: var(--fg-2);\n --kbd-border-radius: var(--border-radius-sm);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n border-radius: var(--kbd-border-radius);\n }\n kbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit;\n }\n figure {\n margin: 0 0 1rem;\n }\n img,\n svg {\n vertical-align: middle;\n }\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n caption {\n padding-block: 0.5rem;\n color: var(--fg-3);\n text-align: start;\n }\n th {\n text-align: inherit;\n text-align: -webkit-match-parent;\n }\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n label {\n display: inline-block;\n }\n button {\n border-radius: 0;\n }\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n button,\n select {\n text-transform: none;\n }\n [role=button] {\n cursor: pointer;\n }\n select {\n word-wrap: normal;\n }\n select:disabled {\n opacity: 1;\n }\n [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n }\n button,\n [type=button],\n [type=reset],\n [type=submit] {\n -webkit-appearance: button;\n }\n button:not(:disabled),\n [type=button]:not(:disabled),\n [type=reset]:not(:disabled),\n [type=submit]:not(:disabled) {\n cursor: pointer;\n }\n ::-moz-focus-inner {\n padding: 0;\n border-style: none;\n }\n textarea {\n resize: vertical;\n }\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n }\n legend {\n float: inline-start;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n }\n legend + * {\n clear: inline-start;\n }\n ::-webkit-datetime-edit-fields-wrapper,\n ::-webkit-datetime-edit-text,\n ::-webkit-datetime-edit-minute,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-year-field {\n padding: 0;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n [type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=search]::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n }\n [type=tel],\n [type=url],\n [type=email],\n [type=number] {\n direction: ltr;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n ::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n }\n output {\n display: inline-block;\n }\n iframe {\n border: 0;\n }\n summary {\n display: list-item;\n cursor: pointer;\n }\n progress {\n vertical-align: baseline;\n }\n [hidden] {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n (\n --black: #{$black},\n --white: #{$white},\n\n --gradient: #{$gradient},\n\n // scss-docs-start root-font-size-variables\n --font-size-base: 1rem,\n --font-size-xs: .75rem,\n --font-size-sm: .875rem,\n --font-size-md: 1rem,\n --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem),\n --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem),\n --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem),\n --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n\n --line-height-xs: 1.25,\n --line-height-sm: 1.5,\n --line-height-md: 1.5,\n --line-height-lg: 1.5,\n --line-height-xl: calc(2.5 / 1.75),\n --line-height-2xl: calc(3 / 2.25),\n --line-height-3xl: 1.2,\n --line-height-4xl: 1.1,\n --line-height-5xl: 1.1,\n --line-height-6xl: 1,\n // scss-docs-end root-font-size-variables\n\n // scss-docs-start root-font-weight-variables\n --font-weight-lighter: lighter,\n --font-weight-light: 300,\n --font-weight-normal: 400,\n --font-weight-medium: 500,\n --font-weight-semibold: 600,\n --font-weight-bold: 700,\n --font-weight-bolder: bolder,\n // scss-docs-end root-font-weight-variables\n\n // scss-docs-start root-body-variables\n --body-font-family: system-ui,\n --body-font-size: var(--font-size-base),\n --body-font-weight: #{$font-weight-base},\n --body-line-height: #{$line-height-base},\n\n --heading-color: #{$headings-color},\n\n --hr-border-color: var(--border-color),\n\n --link-color: light-dark(var(--primary-base), var(--primary-text)),\n --link-decoration: #{$link-decoration},\n --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n --code-font-size: 95%,\n --code-color: var(--fg-2),\n\n // scss-docs-start root-border-var\n --border-width: #{$border-width},\n --border-style: #{$border-style},\n --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n // scss-docs-end root-border-var\n\n // scss-docs-start root-border-radius-var\n --border-radius: .5rem,\n --border-radius-xs: .375rem,\n --border-radius-sm: .5rem,\n --border-radius-lg: .75rem,\n --border-radius-xl: 1rem,\n --border-radius-2xl: 2rem,\n --border-radius-pill: 50rem,\n // scss-docs-end root-border-radius-var\n\n // scss-docs-start root-box-shadow-variables\n --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n // scss-docs-end root-box-shadow-variables\n\n --spacer: 1rem,\n\n // scss-docs-start root-focus-variables\n --focus-ring-width: 3px,\n --focus-ring-offset: 1px,\n --focus-ring-color: var(--primary-focus-ring),\n --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-variables\n --control-checked-bg: var(--primary-base),\n --control-checked-border-color: var(--control-checked-bg),\n --control-active-bg: var(--primary-base),\n --control-active-border-color: var(--control-active-bg),\n --control-disabled-bg: var(--bg-3),\n --control-disabled-opacity: .65,\n\n --btn-input-fg: var(--fg-body),\n --btn-input-bg: var(--bg-body),\n\n --btn-input-min-height: 2.5rem,\n --btn-input-padding-y: .375rem,\n --btn-input-padding-x: .75rem,\n --btn-input-font-size: var(--font-size-base),\n --btn-input-line-height: var(--line-height-base),\n --btn-input-border-radius: var(--border-radius),\n\n --btn-input-xs-min-height: 1.5rem,\n --btn-input-xs-padding-y: .125rem,\n --btn-input-xs-padding-x: .5rem,\n --btn-input-xs-font-size: var(--font-size-xs),\n --btn-input-xs-line-height: 1.125,\n --btn-input-xs-border-radius: var(--border-radius-xs),\n\n --btn-input-sm-min-height: 2.25rem,\n --btn-input-sm-padding-y: .25rem,\n --btn-input-sm-padding-x: .625rem,\n --btn-input-sm-font-size: var(--font-size-sm),\n --btn-input-sm-line-height: var(--line-height-sm),\n --btn-input-sm-border-radius: var(--border-radius-sm),\n\n --btn-input-lg-min-height: 3rem,\n --btn-input-lg-padding-y: .5rem,\n --btn-input-lg-padding-x: 1rem,\n --btn-input-lg-font-size: var(--font-size-md),\n --btn-input-lg-line-height: var(--line-height-md),\n --btn-input-lg-border-radius: var(--border-radius-lg),\n // scss-docs-end root-form-variables\n\n // scss-docs-start root-form-validation-variables\n --form-valid-color: #{$form-valid-color},\n --form-valid-border-color: #{$form-valid-border-color},\n --form-invalid-color: #{$form-invalid-color},\n --form-invalid-border-color: #{$form-invalid-border-color},\n // scss-docs-end root-form-validation-variables\n ),\n $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n @each $key, $value in $color-map {\n $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n:root {\n @include tokens($root-tokens);\n\n color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n (\n --kbd-padding-y: .125rem,\n --kbd-padding-x: .25rem,\n --kbd-font-size: var(--font-size-xs),\n --kbd-color: var(--bg-body),\n --kbd-bg: var(--fg-2),\n --kbd-border-radius: var(--border-radius-sm),\n ),\n $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n (\n --mark-padding: .1875em,\n --mark-color: var(--fg-body),\n --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n ),\n $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\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 // Document\n //\n // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n // Root\n //\n // Ability to the value of the root font sizes, affecting the value of `rem`.\n // null by default, thus nothing is generated.\n\n :root {\n // Assume browser default font-size of 16px, or a user's preference\n accent-color: var(--primary-base);\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n }\n\n // Body\n //\n // 1. Remove the margin in all browsers.\n // 2. As a best practice, apply a default `background-color`.\n // 3. Prevent adjustments of font size after orientation changes in iOS.\n // 4. Change the default tap highlight to be completely transparent in iOS.\n\n // scss-docs-start reboot-body-rules\n body {\n margin: 0; // 1\n font-family: var(--body-font-family);\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n color: var(--fg-body);\n text-align: var(--body-text-align);\n background-color: var(--bg-body); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n }\n // scss-docs-end reboot-body-rules\n\n hr {\n margin: var(--hr-margin-y, var(--spacer)) 0;\n border: 0;\n border-block-start: var(--border-width) solid var(--hr-border-color);\n }\n\n // Typography\n //\n // 1. Remove top margins from headings\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\n %heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--heading-color);\n }\n\n h1,\n .h1 {\n @extend %heading;\n font-size: $h1-font-size;\n }\n\n h2,\n .h2 {\n @extend %heading;\n font-size: $h2-font-size;\n }\n\n h3,\n .h3 {\n @extend %heading;\n font-size: $h3-font-size;\n }\n\n h4,\n .h4 {\n @extend %heading;\n font-size: $h4-font-size;\n }\n\n h5,\n .h5 {\n @extend %heading;\n font-size: $h5-font-size;\n }\n\n h6,\n .h6 {\n @extend %heading;\n font-size: $h6-font-size;\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`.\n\n p {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n }\n\n // Abbreviations\n //\n // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n // 2. Add explicit cursor to indicate changed behavior.\n // 3. Prevent the text-decoration to be skipped.\n\n abbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n }\n\n // Address\n\n address {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n }\n\n // Lists\n\n ol,\n ul {\n padding-inline-start: 2rem;\n }\n\n ol,\n ul,\n dl {\n margin-top: 0;\n margin-bottom: 1rem;\n }\n\n ol ol,\n ul ul,\n ol ul,\n ul ol {\n margin-bottom: 0;\n }\n\n dt {\n font-weight: $dt-font-weight;\n }\n\n // 1. Undo browser default\n\n dd {\n margin-inline-start: 0; // 1\n margin-bottom: .5rem;\n }\n\n // Blockquote\n\n blockquote {\n margin: 0 0 1rem;\n > * {\n margin-block: 0;\n }\n }\n\n // Strong\n //\n // Add the correct font weight in Chrome, Edge, and Safari\n\n b,\n strong {\n font-weight: $font-weight-bolder;\n }\n\n // Small\n //\n // Add the correct font size in all browsers\n\n small,\n .small {\n font-size: var(--small-font-size, 87.5%);\n }\n\n // Mark\n\n mark,\n .mark {\n @include tokens($reboot-mark-tokens);\n padding: var(--mark-padding);\n color: var(--mark-color);\n background-color: var(--mark-bg);\n }\n\n // Sub and Sup\n //\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n position: relative;\n font-size: var(--sub-sup-font-size, .75em);\n line-height: 0;\n vertical-align: baseline;\n }\n\n sub { bottom: -.25em; }\n sup { top: -.5em; }\n\n // Links\n\n a {\n color: var(--theme-text, var(--link-color));\n text-decoration: var(--link-decoration);\n text-underline-offset: $link-underline-offset;\n\n &:hover {\n // --link-color: var(--link-hover-color);\n // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n color: var(--theme-text-emphasis, var(--link-hover-color));\n text-decoration: var(--link-hover-decoration, var(--link-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\n a:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n }\n\n // Code\n\n pre,\n code,\n kbd,\n samp {\n font-family: var(--font-mono);\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n }\n\n // 1. Remove browser default top margin\n // 2. Reset browser default of `1em` to use `rem`s\n // 3. Don't allow content to break outside\n\n pre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n font-size: var(--code-font-size);\n color: var(--code-color, inherit);\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n }\n\n code {\n font-size: var(--code-font-size);\n color: var(--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 kbd {\n @include tokens($reboot-kbd-tokens);\n padding: var(--kbd-padding-y) var(--kbd-padding-x);\n font-size: var(--kbd-font-size);\n color: var(--kbd-color);\n background-color: var(--kbd-bg);\n @include border-radius(var(--kbd-border-radius));\n\n kbd {\n padding: 0;\n font-size: 1em;\n font-weight: inherit; // mdo-do: check if this is needed\n }\n }\n\n // Figures\n //\n // Apply a consistent margin strategy (matches our type styles).\n\n figure {\n margin: 0 0 1rem;\n }\n\n // Images and content\n\n img,\n svg {\n vertical-align: middle;\n }\n\n // Tables\n //\n // Prevent double borders\n\n table {\n caption-side: bottom;\n border-collapse: collapse;\n }\n\n caption {\n // padding-top: $table-cell-padding-y;\n // padding-bottom: $table-cell-padding-y;\n // color: $table-caption-color;\n padding-block: .5rem;\n color: var(--fg-3);\n text-align: start;\n }\n\n // 1. Removes font-weight bold by inheriting\n // 2. Matches default `` alignment by inheriting `text-align`.\n // 3. Fix alignment for Safari\n\n th {\n // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n }\n\n thead,\n tbody,\n tfoot,\n tr,\n td,\n th {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n }\n\n // Forms\n //\n // 1. Allow labels to use `margin` for spacing.\n\n label {\n display: inline-block; // 1\n }\n\n // Remove the default `border-radius` that macOS Chrome adds.\n // See https://github.com/twbs/bootstrap/issues/24093\n\n button {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n }\n\n // Explicitly remove focus outline in Chromium when it shouldn't be\n // visible (e.g. as result of mouse click or touch tap). It already\n // should be doing this automatically, but seems to currently be\n // confused and applies its very visible two-tone outline anyway.\n\n button:focus:not(:focus-visible) {\n outline: 0;\n }\n\n // 1. Remove the margin in Firefox and Safari\n\n input,\n button,\n select,\n optgroup,\n textarea {\n margin: 0; // 1\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n // Remove the inheritance of text transform in Firefox\n button,\n select {\n text-transform: none;\n }\n // Set the cursor for non-``,ArrowPrev=(e,t)=>``,ControlTime=e=>e.selectionTimeMode?`

`:"",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`
`:"",Dates=e=>`
`,Month=e=>``,Months=e=>`
`,Week=e=>`
`,WeekNumbers=e=>e.enableWeekNumbers?`
`:"",Year=e=>``,Years=e=>`
`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\[(.*?)\]/)||[])[1],o=n.replace(/[/\s\n\t]|\[(.*?)\]/g,""),l=getComponent(o),s=l?l(e,null!=a?a:null):"";return e.sanitizerHTML(s)})).replace(/[\n\t]/g,""),parseMultipleLayout=(e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join("");return e.sanitizerHTML(a)})).replace(/[\n\t]/g,""),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e));})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc="controls"]'),a=e.context.mainElement.querySelector('[data-vc="grid"]'),o=t.closest('[data-vc="column"]');return n&&n.remove(),a&&(a.dataset.vcGrid="hidden"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]));}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])));},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?"hidden":"",t.style.visibility=a?"hidden":"";},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c);},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s);},visibilityArrows=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),n=e.context.mainElement.querySelector('[data-vc-arrow="next"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})["multiple"===e.context.currentType?"default":e.context.currentType]();},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc="column"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=false===d[o]||"only-arrows"===d[o];u&&(t.tabIndex=-1),t.disabled=u;},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),n=e.context.mainElement.querySelectorAll('[data-vc="year"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))));},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:"[data-vc-months-month]",year:"[data-vc-years-year]"},i={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria);})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),"year"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,""),t.setAttribute(i[n].aria,"true"));},getColumnID=(e,t)=>{var n;if("multiple"!==e.type)return {currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc="column"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column="${t}"]`)));return {currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc="${t}"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(false);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role="gridcell",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled="true"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,"month",n===s,false),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:n.querySelector('[data-vc="year"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,"currentType","month"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,"month"),u=l<=n.getFullYear()&&t=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m);}null==(a=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||a.focus();},TimeInput=(e,t,n,a,o)=>`\n \n`,TimeRange=(e,t,n,a,o,l,s)=>`\n \n`,handleActions=(e,t,n,a)=>{(({hour:()=>setContext(e,"selectedHours",n),minute:()=>setContext(e,"selectedMinutes",n)}))[a](),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,false),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);},transformTime24=(e,t)=>{var n;return (null==(n={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s="AM"===e.context.selectedKeeping?"PM":"AM",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,"selectedKeeping",s),n.value=i,handleActions(e,l,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,true);};return t.addEventListener("click",l),()=>{t.removeEventListener("click",l);}},transformTime12=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a;},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,"selectedKeeping",n),t.innerText=n);},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,true));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,"PM"),handleActions(e,c,transformTime12(r),o);},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,true));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o);}})[e.selectionTimeMode]();},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,true));n.value=i,t.value=i,handleActions(e,r,i,o);}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,"0");i[o]&&i[o](t,a,e);};return n.addEventListener("change",r),()=>{n.removeEventListener("change",r);}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a);},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,"selectedKeeping",n),t.innerText=n);},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,"0"),r="hour"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?"AM":"PM"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value));};return t.addEventListener("input",l),()=>{t.removeEventListener("input",l);}},handleMouseOver=e=>e.setAttribute("data-vc-input-focus",""),handleMouseOut=e=>e.removeAttribute("data-vc-input-focus"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),a=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),o=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),l=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),s=t.querySelector('[data-vc-time="keeping"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l);},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l);};return t.addEventListener("mouseover",i),t.addEventListener("mouseout",r),handleInput$1(e,n,o,s,"hour",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,"minute",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,"hour"),handleRange(e,a,l,s,"minute"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener("mouseover",i),t.removeEventListener("mouseout",r);}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i="range"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\n
\n ${TimeInput("hour",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\n ${TimeInput("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\n ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,``):""}\n
\n
\n ${TimeRange("hour",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\n ${TimeRange("minute",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\n
\n `),handleTime(e,t);},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(n.type="button"),a.forEach((a=>{const o=n.cloneNode(true);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role="columnheader",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=""),t.appendChild(o);}));}));},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(false);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role="gridcell",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled="true"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,"year",n===o,false),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,"currentType","year"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!o)return;const l="multiple"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement("button");s.type="button";for(let t=e.context.displayYear-7;tgetDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i);}null==(n=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||n.focus();},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;ahaveListener.value=true,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach((t=>setTheme(t,e.matches?"dark":"light")));};t.addEventListener?t.addEventListener("change",n):t.addListener(n),haveListener.set();},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,((e,t)=>t));if(!n||"system"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t);}))):trackChangesThemeInSystemSettings(e,t);},handleTheme=e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?detectTheme(e,window.matchMedia("(prefers-color-scheme: dark)")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,"light");},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:"short",timeZone:"UTC"}),l=a.toLocaleString(n,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l));},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:"short",timeZone:"UTC"}),l=a.toLocaleString(n,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l));},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)));}else {if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,"locale",__spreadValues({},e.locale));}},create=e=>{const t={default:()=>{createWeek(e),createDates(e);},multiple:()=>{createWeek(e),createDates(e);},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]();},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)||"button"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute("data-vc-date-btn")?7:i.hasAttribute("data-vc-months-month")?4:i.hasAttribute("data-vc-years-year")?5:1;var i;const r=(0, {ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus();};return e.context.mainElement.addEventListener("keydown",t),()=>e.context.mainElement.removeEventListener("keydown",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));(({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)}))[t](),setContext(e,"selectedMonth",n.getMonth()),setContext(e,"selectedYear",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e);},handleClickArrow=(e,t)=>{const n=t.target.closest("[data-vc-arrow]");if(n){if(["default","multiple"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,"displayYear",e.context.displayYear+a),createYears(e,t.target);}e.onClickArrow&&e.onClickArrow(e,t);}},resolveToggle=(e,t)=>void 0===t||("function"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest("[data-vc-date][data-vc-date-selected]"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,"selectedDates",s);},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+"px",t.style.top=o.bottom-a.top-o.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a));},state={self:null,lastDateEl:null,isHovering:false,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`).forEach((e=>e.dataset.vcDateHover="")),t.forEach((e=>e.dataset.vcDateHover="first")),n.forEach((e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last";})));},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach((e=>e.removeAttribute("data-vc-date-hover")));},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc="dates"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest("[data-vc-date]");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${o}"]`),[c,d]=l{const t=null==e?void 0:e.closest("[data-vc-date-selected]");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t));},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=true,requestAnimationFrame((()=>{e(n),state.isHovering=false;})));},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&"Escape"===e.key&&(state.lastDateEl=null,setContext(state.self,"selectedDates",[]),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect());},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect();}),50);},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,"selectedDates",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)));}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.addEventListener("keydown",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates);}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,"selectedDates",s),e.disableDatesGaps&&(setContext(e,"displayDateMin",state.rangeMin),setContext(e,"displayDateMax",state.rangeMax)),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave);}}})[1===e.context.selectedDates.length?"set":"reset"]();},updateDateModifier=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach((t=>{const n=t.querySelector("[data-vc-date-btn]"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,"current");}));},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!o)return;const l=o.closest("[data-vc-date]");(({single:()=>handleSelectDate(e,l,false),multiple:()=>handleSelectDate(e,l,true),"multiple-ranged":()=>handleSelectDateRange(e,l)}))[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month="prev"]'),i=a.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"prev"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"next"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?"prev":i?"next":"current"]();},typeClick=["month","year"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return "month"===e.context.currentType&&o>=0?n-o:"year"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,"year",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,"year"),i=e.context.selectedMontho.getMonth()-l+s&&n>=o.getFullYear(),c=no.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,"selectedYear",u),setContext(e,"selectedMonth",m);},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),a=getValue(e,"month",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=as.getMonth()&&o>=s.getFullYear();setContext(e,"selectedYear",o),setContext(e,"selectedMonth",i?l.getMonth():r?s.getMonth():a);},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if("multiple"===e.type)return handleMultipleYearSelection(e,a);setContext(e,"selectedYear",Number(a.dataset.vcYearsYear));},month:()=>{if("multiple"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,"selectedMonth",Number(a.dataset.vcMonthsMonth));}})[n]();(({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}}))[n](),e.context.currentType!==e.type?(setContext(e,"currentType",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||o.focus()):setYearModifier(e,a,n,true,true);},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc="${n}"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc="grid"]'),c=o.closest('[data-vc="column"]');(e.context.currentType===n&&l||"multiple"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,"currentType",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||a.focus());},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a);}));},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest("[data-vc-week-number]"),a=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t);},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest("[data-vc-week-day]"),a=t.target.closest('[data-vc="column"]'),o=a?a.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t);},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t);};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},initMonthsCount=e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1);},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>"today"===e?getLocalDate():e instanceof Date||"number"==typeof e||"string"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,"dateToday",resolveDate(e.dateToday,e.dateToday)),setContext(e,"displayDateMin",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,"displayDateMax",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,"enableDates",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,"disableDates",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,"displayDateMin",e.context.enableDates[0]),setContext(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,"dateMin",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,"dateMax",e.displayDisabledDates?l:e.context.displayDateMax);},initSelectedDates=e=>{var t;setContext(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[]);},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear());};if(e.displayDateMin&&"today"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),true}var n,a;if(e.displayDateMax&&"today"!==e.displayDateMax&&((e,t)=>new Date(e).getTime(){setContext(e,"selectedMonth",t),setContext(e,"selectedYear",n),setContext(e,"displayYear",n);},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear());},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r="AM"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?"PM":"AM":null),setContext(e,"selectedHours",s.padStart(2,"0")),setContext(e,"selectedMinutes",i.padStart(2,"0")),setContext(e,"selectedKeeping",r),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:""}`);},initAllVariables=e=>{setContext(e,"currentType",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e);},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=true)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates="only-first"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:true===a?r.dates:e.context.selectedDates,l){setContext(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}});}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,"multiple-ranged"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null);},createToInput=e=>{const t=document.createElement("div");return t.className=e.styles.calendar,t.dataset.vc="calendar",t.dataset.vcInput="",t.dataset.vcCalendarHidden="",setContext(e,"inputModeInit",true),setContext(e,"isShowInInputMode",false),setContext(e,"mainElement",t),document.body.appendChild(e.context.mainElement),reset(e,{year:true,month:true,dates:true,time:true,locale:true}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,"inputElement",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e);};e.context.inputElement.addEventListener("click",t);const n="function"==typeof e.openOnFocus||true===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t();};n&&e.context.inputElement.addEventListener("focus",a);const o=t=>{const n="Tab"===t.key&&!t.shiftKey,a=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return false;if(document.activeElement!==e.context.inputElement)return false;const a=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus());})(t);};return e.context.inputElement.addEventListener("keydown",o),()=>{e.context.inputElement.removeEventListener("click",t),n&&e.context.inputElement.removeEventListener("focus",a),e.context.inputElement.removeEventListener("keydown",o);}},init=e=>(setContext(e,"originalElement",e.context.mainElement.cloneNode(true)),setContext(e,"isInit",true),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:true,month:true,dates:true,time:true,locale:true}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e);},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a{replaceProperties(e,t),e.context.isInit&&update(e,n);};function findBestPickerPosition(e,t){const n="left";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return (l&&a.bottom?"center":l&&a.top?["top","center"]:Array.isArray(o)?["bottom"===o[0]?"top":"bottom",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a="auto"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:"bottom",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e;}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`});},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,"cleanupHandlers",[]),setContext(e,"isShowInInputMode",true),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute("data-vc-calendar-hidden");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput);};window.addEventListener("resize",t),e.context.cleanupHandlers.push((()=>window.removeEventListener("resize",t)));const n=t=>{"Escape"===t.key&&hide(e);};document.addEventListener("keydown",n),e.context.cleanupHandlers.push((()=>document.removeEventListener("keydown",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e);};document.addEventListener("click",a,{capture:true}),e.context.cleanupHandlers.push((()=>document.removeEventListener("click",a,{capture:true}))),e.onShow&&e.onShow(e);},labels={application:"Calendar",navigation:"Calendar Navigation",arrowNext:{month:"Next month",year:"Next list of years"},arrowPrev:{month:"Previous month",year:"Previous list of years"},month:"Select month, current selected month:",months:"List of months",year:"Select year, current selected year:",years:"List of years",week:"Days of the week",weekNumber:"Numbers of weeks in a year",dates:"Dates in the current month",selectingTime:"Selecting a time ",inputHour:"Hours",inputMinute:"Minutes",rangeHour:"Slider for selecting hours",rangeMinute:"Slider for selecting minutes",btnKeeping:"Switch AM/PM, current position:"},styles={calendar:"vc",controls:"vc-controls",grid:"vc-grid",column:"vc-column",header:"vc-header",headerContent:"vc-header__content",month:"vc-month",year:"vc-year",arrowPrev:"vc-arrow vc-arrow_prev",arrowNext:"vc-arrow vc-arrow_next",wrapper:"vc-wrapper",content:"vc-content",months:"vc-months",monthsMonth:"vc-months__month",years:"vc-years",yearsYear:"vc-years__year",week:"vc-week",weekDay:"vc-week__day",weekNumbers:"vc-week-numbers",weekNumbersTitle:"vc-week-numbers__title",weekNumbersContent:"vc-week-numbers__content",weekNumber:"vc-week-number",dates:"vc-dates",datesRow:"vc-dates__row",date:"vc-date",dateBtn:"vc-date__btn",datePopup:"vc-date__popup",dateRangeTooltip:"vc-date-range-tooltip",time:"vc-time",timeContent:"vc-time__content",timeHour:"vc-time__hour",timeMinute:"vc-time__minute",timeKeeping:"vc-time__keeping",timeRanges:"vc-time__ranges",timeRange:"vc-time__range"};class OptionsCalendar{constructor(){__publicField(this,"type","default"),__publicField(this,"inputMode",false),__publicField(this,"openOnFocus",true),__publicField(this,"positionToInput","left"),__publicField(this,"firstWeekday",1),__publicField(this,"monthsToSwitch",1),__publicField(this,"themeAttrDetect","html[data-theme]"),__publicField(this,"locale","en"),__publicField(this,"dateToday","today"),__publicField(this,"dateMin","1970-01-01"),__publicField(this,"dateMax","2470-12-31"),__publicField(this,"displayDateMin"),__publicField(this,"displayDateMax"),__publicField(this,"displayDatesOutside",true),__publicField(this,"displayDisabledDates",false),__publicField(this,"displayMonthsCount"),__publicField(this,"disableDates",[]),__publicField(this,"disableAllDates",false),__publicField(this,"disableDatesPast",false),__publicField(this,"disableDatesGaps",false),__publicField(this,"disableWeekdays",[]),__publicField(this,"disableToday",false),__publicField(this,"enableDates",[]),__publicField(this,"enableEdgeDatesOnly",true),__publicField(this,"enableDateToggle",true),__publicField(this,"enableWeekNumbers",false),__publicField(this,"enableMonthChangeOnDayClick",true),__publicField(this,"enableJumpToSelectedDate",false),__publicField(this,"selectionDatesMode","single"),__publicField(this,"selectionMonthsMode",true),__publicField(this,"selectionYearsMode",true),__publicField(this,"selectionTimeMode",false),__publicField(this,"selectedDates",[]),__publicField(this,"selectedMonth"),__publicField(this,"selectedYear"),__publicField(this,"selectedHolidays",[]),__publicField(this,"selectedWeekends",[0,6]),__publicField(this,"selectedTime"),__publicField(this,"selectedTheme","system"),__publicField(this,"timeMinHour",0),__publicField(this,"timeMaxHour",23),__publicField(this,"timeMinMinute",0),__publicField(this,"timeMaxMinute",59),__publicField(this,"timeControls","all"),__publicField(this,"timeStepHour",1),__publicField(this,"timeStepMinute",1),__publicField(this,"sanitizerHTML",(e=>e)),__publicField(this,"onClickDate"),__publicField(this,"onClickWeekDay"),__publicField(this,"onClickWeekNumber"),__publicField(this,"onClickTitle"),__publicField(this,"onClickMonth"),__publicField(this,"onClickYear"),__publicField(this,"onClickArrow"),__publicField(this,"onChangeTime"),__publicField(this,"onChangeToInput"),__publicField(this,"onCreateDateRangeTooltip"),__publicField(this,"onCreateDateEls"),__publicField(this,"onCreateMonthEls"),__publicField(this,"onCreateYearEls"),__publicField(this,"onInit"),__publicField(this,"onUpdate"),__publicField(this,"onDestroy"),__publicField(this,"onShow"),__publicField(this,"onHide"),__publicField(this,"popups",{}),__publicField(this,"labels",__spreadValues({},labels)),__publicField(this,"layouts",{default:"",multiple:"",month:"",year:""}),__publicField(this,"styles",__spreadValues({},styles));}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,"init",(()=>init(this))),__publicField(this,"update",(e=>update(this,e))),__publicField(this,"destroy",(()=>destroy(this))),__publicField(this,"show",(()=>show(this))),__publicField(this,"hide",(()=>hide(this))),__publicField(this,"set",((e,t)=>set(this,e,t))),__publicField(this,"context"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,"mainElement","string"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n);}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,"memoizedElements",new Map);let Calendar=_Calendar; + +/** + * -------------------------------------------------------------------------- + * Bootstrap datepicker.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + +/** + * Constants + */ + +const NAME$f = 'datepicker'; +const DATA_KEY$b = 'bs.datepicker'; +const EVENT_KEY$b = `.${DATA_KEY$b}`; +const DATA_API_KEY$6 = '.data-api'; +const EVENT_CHANGE = `change${EVENT_KEY$b}`; +const EVENT_SHOW$6 = `show${EVENT_KEY$b}`; +const EVENT_SHOWN$6 = `shown${EVENT_KEY$b}`; +const EVENT_HIDE$6 = `hide${EVENT_KEY$b}`; +const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$b}`; +const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$b}${DATA_API_KEY$6}`; +const EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY$b}${DATA_API_KEY$6}`; +const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="datepicker"]'; +const HIDE_DELAY = 100; // ms delay before hiding after selection + +const Default$e = { + datepickerTheme: null, + // 'light', 'dark', 'auto' - explicit theme for datepicker popover only + dateMin: null, + dateMax: null, + dateFormat: null, + // Intl.DateTimeFormat options, or function(date, locale) => string + displayElement: null, + // Element to show formatted date (defaults to element for buttons) + displayMonthsCount: 1, + // Number of months to display side-by-side + firstWeekday: 1, + // Monday + inline: false, + // Render calendar inline (no popup) + locale: 'default', + positionElement: null, + // Element to position calendar relative to (defaults to input) + selectedDates: [], + selectionMode: 'single', + // 'single', 'multiple', 'multiple-ranged' + placement: 'left', + // 'left', 'center', 'right', 'auto' + vcpOptions: {} // Pass-through for any VCP option +}; +const DefaultType$e = { + datepickerTheme: '(null|string)', + dateMin: '(null|string|number|object)', + dateMax: '(null|string|number|object)', + dateFormat: '(null|object|function)', + displayElement: '(null|string|element|boolean)', + displayMonthsCount: 'number', + firstWeekday: 'number', + inline: 'boolean', + locale: 'string', + positionElement: '(null|string|element)', + selectedDates: 'array', + selectionMode: 'string', + placement: 'string', + vcpOptions: 'object' +}; + +/** + * Class definition + */ + +class Datepicker extends BaseComponent { + constructor(element, config) { + super(element, config); + this._calendar = null; + this._isShown = false; + this._initCalendar(); + } + + // Getters + static get Default() { + return Default$e; + } + static get DefaultType() { + return DefaultType$e; + } + static get NAME() { + return NAME$f; + } + + // Public + toggle() { + if (this._config.inline) { + return; // Inline calendars are always visible } - _setActiveIndicatorElement(index) { - if (!this._indicatorsElement) { - return; - } - const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); - activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); - activeIndicator.removeAttribute('aria-current'); - const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); - if (newActiveIndicator) { - newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); - newActiveIndicator.setAttribute('aria-current', 'true'); - } + return this._isShown ? this.hide() : this.show(); + } + show() { + if (this._config.inline) { + return; // Inline calendars are always visible } - _updateInterval() { - const element = this._activeElement || this._getActive(); - if (!element) { - return; - } - const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); - this._config.interval = elementInterval || this._config.defaultInterval; + if (!this._calendar || isDisabled(this._element) || this._isShown) { + return; } - _slide(order, element = null) { - if (this._isSliding) { - return; - } - const activeElement = this._getActive(); - const isNext = order === ORDER_NEXT; - const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); - if (nextElement === activeElement) { - return; - } - const nextElementIndex = this._getItemIndex(nextElement); - const triggerEvent = eventName => { - return EventHandler.trigger(this._element, eventName, { - relatedTarget: nextElement, - direction: this._orderToDirection(order), - from: this._getItemIndex(activeElement), - to: nextElementIndex - }); - }; - const slideEvent = triggerEvent(EVENT_SLIDE); - if (slideEvent.defaultPrevented) { - return; - } - if (!activeElement || !nextElement) { - // Some weirdness is happening, so we bail - return; - } - const isCycling = Boolean(this._interval); - this.pause(); - this._isSliding = true; - this._setActiveIndicatorElement(nextElementIndex); - this._activeElement = nextElement; - const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; - const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; - nextElement.classList.add(orderClassName); - reflow(nextElement); - activeElement.classList.add(directionalClassName); - nextElement.classList.add(directionalClassName); - const completeCallBack = () => { - nextElement.classList.remove(directionalClassName, orderClassName); - nextElement.classList.add(CLASS_NAME_ACTIVE$2); - activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); - this._isSliding = false; - triggerEvent(EVENT_SLID); - }; - this._queueCallback(completeCallBack, activeElement, this._isAnimated()); - if (isCycling) { - this.cycle(); - } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); + if (showEvent.defaultPrevented) { + return; } - _isAnimated() { - return this._element.classList.contains(CLASS_NAME_SLIDE); + this._calendar.show(); + this._isShown = true; + EventHandler.trigger(this._element, EVENT_SHOWN$6); + } + hide() { + if (this._config.inline) { + return; // Inline calendars are always visible } - _getActive() { - return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + if (!this._calendar || !this._isShown) { + return; } - _getItems() { - return SelectorEngine.find(SELECTOR_ITEM, this._element); + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); + if (hideEvent.defaultPrevented) { + return; } - _clearInterval() { - if (this._interval) { - clearInterval(this._interval); - this._interval = null; - } + this._calendar.hide(); + this._isShown = false; + EventHandler.trigger(this._element, EVENT_HIDDEN$6); + } + dispose() { + if (this._themeObserver) { + this._themeObserver.disconnect(); + this._themeObserver = null; } - _directionToOrder(direction) { - if (isRTL$1()) { - return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; - } - return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; + if (this._calendar) { + this._calendar.destroy(); } - _orderToDirection(order) { - if (isRTL$1()) { - return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; - } - return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; + this._calendar = null; + super.dispose(); + } + getSelectedDates() { + const dates = this._calendar?.context?.selectedDates; + return dates ? [...dates] : []; + } + setSelectedDates(dates) { + if (this._calendar) { + this._calendar.set({ + selectedDates: dates + }); } } - /** - * Data API implementation - */ + // Private + _initCalendar() { + this._isInput = this._element.tagName === 'INPUT'; + this._isInline = this._config.inline; - EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, function (event) { - const target = SelectorEngine.getElementFromSelector(this); - if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { - return; - } - event.preventDefault(); - const carousel = Carousel.getOrCreateInstance(target); - const slideIndex = this.getAttribute('data-bs-slide-to'); - if (slideIndex) { - carousel.to(slideIndex); - carousel._maybeEnableCycle(); - return; - } - if (Manipulator.getDataAttribute(this, 'slide') === 'next') { - carousel.next(); - carousel._maybeEnableCycle(); - return; - } - carousel.prev(); - carousel._maybeEnableCycle(); - }); - EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { - const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); - for (const carousel of carousels) { - Carousel.getOrCreateInstance(carousel); + // For inline mode, look for a hidden input child to bind to + if (this._isInline && !this._isInput) { + this._boundInput = this._element.querySelector('input[type="hidden"], input[name]'); } - }); + this._positionElement = this._resolvePositionElement(); + this._displayElement = this._resolveDisplayElement(); + const calendarOptions = this._buildCalendarOptions(); - /** - * -------------------------------------------------------------------------- - * Bootstrap collapse.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - - /** - * Constants - */ - - const NAME$g = 'collapse'; - const DATA_KEY$c = 'bs.collapse'; - const EVENT_KEY$c = `.${DATA_KEY$c}`; - const DATA_API_KEY$7 = '.data-api'; - const EVENT_SHOW$7 = `show${EVENT_KEY$c}`; - const EVENT_SHOWN$7 = `shown${EVENT_KEY$c}`; - const EVENT_HIDE$7 = `hide${EVENT_KEY$c}`; - const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$c}`; - const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$c}${DATA_API_KEY$7}`; - const CLASS_NAME_SHOW$6 = 'show'; - const CLASS_NAME_COLLAPSE = 'collapse'; - const CLASS_NAME_COLLAPSING = 'collapsing'; - const CLASS_NAME_COLLAPSED = 'collapsed'; - const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; - const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; - const WIDTH = 'width'; - const HEIGHT = 'height'; - const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; - const SELECTOR_DATA_TOGGLE$8 = '[data-bs-toggle="collapse"]'; - const Default$f = { - parent: null, - toggle: true - }; - const DefaultType$f = { - parent: '(null|element)', - toggle: 'boolean' - }; + // Create calendar on the position element (for correct popup positioning) + // but value updates still go to this._element (the input) + this._calendar = new Calendar(this._positionElement, calendarOptions); + this._calendar.init(); - /** - * Class definition - */ + // Watch for theme changes on ancestor elements (for live theme switching) + this._setupThemeObserver(); - class Collapse extends BaseComponent { - constructor(element, config) { - super(element, config); - this._isTransitioning = false; - this._triggerArray = []; - const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$8); - for (const elem of toggleList) { - const selector = SelectorEngine.getSelectorFromElement(elem); - const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element); - if (selector !== null && filterElement.length) { - this._triggerArray.push(elem); - } - } - this._initializeChildren(); - if (!this._config.parent) { - this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); - } - if (this._config.toggle) { - this.toggle(); - } + // Set initial value if input has a value + if (this._isInput && this._element.value) { + this._parseInputValue(); } - // Getters - static get Default() { - return Default$f; + // Populate input/display with preselected dates + this._updateDisplayWithSelectedDates(); + } + _updateDisplayWithSelectedDates() { + const { + selectedDates + } = this._config; + if (!selectedDates || selectedDates.length === 0) { + return; } - static get DefaultType() { - return DefaultType$f; + const formattedDate = this._formatDateForInput(selectedDates); + if (this._isInput) { + this._element.value = formattedDate; } - static get NAME() { - return NAME$g; + if (this._boundInput) { + this._boundInput.value = selectedDates.join(','); + } + if (this._displayElement) { + this._displayElement.textContent = formattedDate; + } + } + _resolvePositionElement() { + let { + positionElement + } = this._config; + if (typeof positionElement === 'string') { + positionElement = document.querySelector(positionElement); } - // Public - toggle() { - if (this._isShown()) { - this.hide(); - } else { - this.show(); - } - } - show() { - if (this._isTransitioning || this._isShown()) { - return; - } - let activeChildren = []; - - // find active children - if (this._config.parent) { - activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, { - toggle: false - })); - } - if (activeChildren.length && activeChildren[0]._isTransitioning) { - return; - } - const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$7); - if (startEvent.defaultPrevented) { - return; - } - for (const activeInstance of activeChildren) { - activeInstance.hide(); - } - const dimension = this._getDimension(); - this._element.classList.remove(CLASS_NAME_COLLAPSE); - this._element.classList.add(CLASS_NAME_COLLAPSING); - this._element.style[dimension] = 0; - this._addAriaAndCollapsedClass(this._triggerArray, true); - this._isTransitioning = true; - const complete = () => { - this._isTransitioning = false; - this._element.classList.remove(CLASS_NAME_COLLAPSING); - this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$6); - this._element.style[dimension] = ''; - EventHandler.trigger(this._element, EVENT_SHOWN$7); - }; - const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); - const scrollSize = `scroll${capitalizedDimension}`; - this._queueCallback(complete, this._element, true); - this._element.style[dimension] = `${this._element[scrollSize]}px`; - } - hide() { - if (this._isTransitioning || !this._isShown()) { - return; - } - const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$7); - if (startEvent.defaultPrevented) { - return; - } - const dimension = this._getDimension(); - this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; - reflow(this._element); - this._element.classList.add(CLASS_NAME_COLLAPSING); - this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$6); - for (const trigger of this._triggerArray) { - const element = SelectorEngine.getElementFromSelector(trigger); - if (element && !this._isShown(element)) { - this._addAriaAndCollapsedClass([trigger], false); - } - } - this._isTransitioning = true; - const complete = () => { - this._isTransitioning = false; - this._element.classList.remove(CLASS_NAME_COLLAPSING); - this._element.classList.add(CLASS_NAME_COLLAPSE); - EventHandler.trigger(this._element, EVENT_HIDDEN$7); - }; - this._element.style[dimension] = ''; - this._queueCallback(complete, this._element, true); - } - - // Private - _isShown(element = this._element) { - return element.classList.contains(CLASS_NAME_SHOW$6); - } - _configAfterMerge(config) { - config.toggle = Boolean(config.toggle); // Coerce string values - config.parent = getElement(config.parent); - return config; - } - _getDimension() { - return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; - } - _initializeChildren() { - if (!this._config.parent) { - return; - } - const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$8); - for (const element of children) { - const selected = SelectorEngine.getElementFromSelector(element); - if (selected) { - this._addAriaAndCollapsedClass([element], this._isShown(selected)); - } - } - } - _getFirstLevelChildren(selector) { - const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); - // remove children if greater depth - return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element)); - } - _addAriaAndCollapsedClass(triggerArray, isOpen) { - if (!triggerArray.length) { - return; - } - for (const element of triggerArray) { - element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); - element.setAttribute('aria-expanded', isOpen); + // Use input's parent if in form-adorn + if (!positionElement && this._isInput && !this._isInline) { + const parent = this._element.closest('.form-adorn'); + if (parent) { + positionElement = parent; } } + return positionElement || this._element; } - - /** - * Data API implementation - */ - - EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$8, function (event) { - // preventDefault only for
elements (which change the URL) not inside the collapsible element - if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { - event.preventDefault(); - } - for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) { - Collapse.getOrCreateInstance(element, { - toggle: false - }).toggle(); - } - }); - - /*! name: vanilla-calendar-pro v3.0.5 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */ - var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the "init()" method first.',notLocale:"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».",incorrectTime:"The value of the time property can be: false, 12 or 24.",incorrectMonthsCount:"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1."},setContext=(e,t,n)=>{e.context[t]=n;},destroy=e=>{var t,n,a,l,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,"inputElement",void 0)):null==(o=(l=e.context.mainElement).replaceWith)||o.call(l,e.context.originalElement),setContext(e,"mainElement",e.context.originalElement),e.onDestroy&&e.onDestroy(e);},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden="",setContext(e,"isShowInInputMode",false),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,"cleanupHandlers",[])),e.onHide&&e.onHide(e));};function getOffset(e){if(!e||!e.getBoundingClientRect)return {top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return {bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return {vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return {left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:l}=getOffset(e),{vh:o,vw:s}=getViewportDimensions(),i=a-t,r=l-n;return {top:i,bottom:o-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:true,bottom:true,left:true,right:true},l=[];if(!t||!e)return {canShow:a,parentPositions:l};const{bottom:o,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),h=m/2,p=u/2;return [{condition:ip,position:"bottom"},{condition:rh,position:"right"}].forEach((({condition:e,position:t})=>{e&&l.push(t);})),Object.assign(a,{top:c<=s-n,bottom:c<=o-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:l}}const handleDay=(e,t,n,a)=>{var l;const o=a.querySelector(`[data-vc-date="${t}"]`),s=null==o?void 0:o.querySelector("[data-vc-date-btn]");if(!o||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(" ")),!(null==n?void 0:n.html))return;const i=document.createElement("div");i.className=e.styles.datePopup,i.dataset.vcDatePopup="",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded="true",s.ariaLabel=`${s.ariaLabel}, ${null==(l=null==i?void 0:i.textContent)?void 0:l.replace(/^\s+|\s+(?=\s)|\s+$/g,"").replace(/ /g," ")}`,o.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(o,i),t=e.bottom?o.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?o.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`});}));},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))));},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||"number"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10));}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,((t,n,a)=>{const l=getDate(n),o=getDate(a),s=new Date(l.getTime());for(;s<=o;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a="")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n);},setDateModifier=(e,t,n,a,l,o,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)1&&"multiple-ranged"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute("data-vc-date-selected","first-and-last"):e.context.selectedDates[0]===o?n.setAttribute("data-vc-date-selected","first"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute("data-vc-date-selected","last"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute("data-vc-date-selected","middle"))):n.hasAttribute("data-vc-date-selected")&&(n.removeAttribute("data-vc-date-selected"),a&&a.removeAttribute("aria-selected")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),l=getDate(o);updateAttribute(n,l>t&&lnew Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const l=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+l)/864e5+1)/7);return {year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week));},setDaysAsDisabled=(e,t,n)=>{var a,l,o,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(l=e.context.enableDates)?void 0:l[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))));},createDate=(e,t,n,a,l,o)=>{const s=getDate(l).getDay(),i="string"==typeof e.locale&&e.locale.length?e.locale:"en",r=document.createElement("div");let c;r.className=e.styles.date,r.dataset.vcDate=l,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(s),("current"===o||e.displayDatesOutside)&&(c=document.createElement("button"),c.className=e.styles.dateBtn,c.type="button",c.role="gridcell",c.ariaLabel=getLocaleString(l,i,{dateStyle:"long",timeZone:"UTC"}),c.dataset.vcDateBtn="",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,l),setDaysAsDisabled(e,l,s),setDateModifier(e,t,r,c,s,l,o),n.appendChild(r),e.onCreateDateEls&&e.onCreateDateEls(e,r);},createDatesFromCurrentMonth=(e,t,n,a,l)=>{for(let o=1;o<=n;o++){const n=new Date(a,l,o);createDate(e,a,t,o,getDateString(n),"current");}},createDatesFromNextMonth=(e,t,n,a,l,o)=>{const s=o+n,i=7*Math.ceil(s/7)-s,r=l+1===12?a+1:a,c=l+1===12?"01":l+2<10?`0${l+2}`:l+2;for(let n=1;n<=i;n++){const l=n<10?`0${n}`:String(n);createDate(e,a,t,n,`${r}-${c}-${l}`,"next");}},createDatesFromPrevMonth=(e,t,n,a,l)=>{let o=new Date(n,a,0).getDate()-(l-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=l;a>0;a--,o++){createDate(e,n,t,o,`${s}-${i}-${o}`,"prev");}},createWeekNumbers=(e,t,n,a,l)=>{if(!e.enableWeekNumbers)return;a.textContent="";const o=document.createElement("b");o.className=e.styles.weekNumbersTitle,o.innerText="#",o.dataset.vcWeekNumbers="title",a.appendChild(o);const s=document.createElement("div");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers="content",a.appendChild(s);const i=document.createElement("button");i.type="button",i.className=e.styles.weekNumber;const r=l.querySelectorAll("[data-vc-date]"),c=Math.ceil((t+n)/7);for(let t=0;t{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc="dates"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');n.forEach(((n,l)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=""),n.textContent="";const o=new Date(t);o.setMonth(o.getMonth()+l);const s=o.getMonth(),i=o.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate();createDatesFromPrevMonth(e,n,i,s,r),createDatesFromCurrentMonth(e,n,c,i,s),createDatesFromNextMonth(e,n,c,i,s,r),createDatePopup(e,n),createWeekNumbers(e,r,c,a[l],n);}));},layoutDefault=e=>`\n \n
\n <#WeekNumbers />\n
\n <#Week />\n <#Dates />\n <#DateRangeTooltip />\n
\n
\n <#ControlTime />\n`,layoutMonths=e=>`\n \n
\n
\n <#Months />\n
\n
\n`,layoutMultiple=e=>`\n \n
\n <#Multiple>\n
\n
\n
\n <#Month />\n <#Year />\n
\n
\n
\n <#WeekNumbers />\n
\n <#Week />\n <#Dates />\n
\n
\n
\n <#/Multiple>\n <#DateRangeTooltip />\n
\n <#ControlTime />\n`,layoutYears=e=>`\n \n
\n
\n <#Years />\n
\n
\n`,ArrowNext=(e,t)=>``,ArrowPrev=(e,t)=>``,ControlTime=e=>e.selectionTimeMode?`
`:"",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`
`:"",Dates=e=>`
`,Month=e=>``,Months=e=>`
`,Week=e=>`
`,WeekNumbers=e=>e.enableWeekNumbers?`
`:"",Year=e=>``,Years=e=>`
`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\[(.*?)\]/)||[])[1],l=n.replace(/[/\s\n\t]|\[(.*?)\]/g,""),o=getComponent(l),s=o?o(e,null!=a?a:null):"";return e.sanitizerHTML(s)})).replace(/[\n\t]/g,""),parseMultipleLayout=(e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join("");return e.sanitizerHTML(a)})).replace(/[\n\t]/g,""),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e));})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc="controls"]'),a=e.context.mainElement.querySelector('[data-vc="grid"]'),l=t.closest('[data-vc="column"]');return n&&e.context.mainElement.removeChild(n),a&&(a.dataset.vcGrid="hidden"),l&&(l.dataset.vcColumn=e.context.currentType),void(l&&(l.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]));}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])));},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?"hidden":"",t.style.visibility=a?"hidden":"";},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),l=new Date(a.getTime()),o=new Date(a.getTime());l.setMonth(l.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||l.getFullYear()i.getFullYear()||o.getFullYear()===i.getFullYear()&&o.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c);},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(l.getFullYear()&&e.context.displayYear+7>=l.getFullYear());setVisibilityArrows(t,n,o,s);},visibilityArrows=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),n=e.context.mainElement.querySelector('[data-vc-arrow="next"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})["multiple"===e.context.currentType?"default":e.context.currentType]();},visibilityHandler=(e,t,n,a,l)=>{const o=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc="column"]');r&&(r.ariaLabel=`${i} ${o}`);const c={month:{id:s,label:i},year:{id:o,label:o}};t.innerText=String(c[l].label),t.dataset[`vc${l.charAt(0).toUpperCase()+l.slice(1)}`]=String(c[l].id),t.ariaLabel=`${e.labels[l]} ${c[l].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=false===d[l]||"only-arrows"===d[l];u&&(t.tabIndex=-1),t.disabled=u;},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),n=e.context.mainElement.querySelectorAll('[data-vc="year"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))));},setYearModifier=(e,t,n,a,l)=>{var o;const s={month:"[data-vc-months-month]",year:"[data-vc-years-year]"},i={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};l&&(null==(o=e.context.mainElement.querySelectorAll(s[n]))||o.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria);})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),"year"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,""),t.setAttribute(i[n].aria,"true"));},getColumnID=(e,t)=>{var n;if("multiple"!==e.type)return {currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc="column"]'),l=Array.from(a).findIndex((e=>e.closest(`[data-vc-column="${t}"]`)));return {currentValue:l>=0?Number(null==(n=a[l].querySelector(`[data-vc="${t}"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(l,0)}},createMonthEl=(e,t,n,a,l,o,s)=>{const i=t.cloneNode(false);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=l,i.role="gridcell",i.dataset.vcMonthsMonth=`${s}`,o&&(i.ariaDisabled="true"),o&&(i.tabIndex=-1),i.disabled=o,setYearModifier(e,i,"month",n===s,false),i},createMonths=(e,t)=>{var n,a;const l=null==(n=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:n.querySelector('[data-vc="year"]'),o=l?Number(l.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,"currentType","month"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,"month"),u=o<=n.getFullYear()&&t=a.getFullYear()&&t>a.getMonth()-l+d||o>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m);}null==(a=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||a.focus();},TimeInput=(e,t,n,a,l)=>`\n \n`,TimeRange=(e,t,n,a,l,o,s)=>`\n \n`,handleActions=(e,t,n,a)=>{(({hour:()=>setContext(e,"selectedHours",n),minute:()=>setContext(e,"selectedMinutes",n)}))[a](),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,false),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);},transformTime24=(e,t)=>{var n;return (null==(n={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,l)=>{const o=o=>{const s="AM"===e.context.selectedKeeping?"PM":"AM",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=l?(setContext(e,"selectedKeeping",s),n.value=i,handleActions(e,o,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,true);};return t.addEventListener("click",o),()=>{t.removeEventListener("click",o);}},transformTime12=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a;},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,"selectedKeeping",n),t.innerText=n);},handleInput$1=(e,t,n,a,l,o,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,true));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,"PM"),handleActions(e,c,transformTime12(r),l);},24:()=>{if(!(i<=o&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,true));updateInputAndRange(n,t,r,r),handleActions(e,c,r,l);}})[e.selectionTimeMode]();},minute:(a,i,r)=>{if(!(a<=o&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,true));n.value=i,t.value=i,handleActions(e,r,i,l);}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,"0");i[l]&&i[l](t,a,e);};return n.addEventListener("change",r),()=>{n.removeEventListener("change",r);}},updateInputAndTime=(e,t,n,a,l)=>{t.value=l,handleActions(e,n,l,a);},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,"selectedKeeping",n),t.innerText=n);},handleRange=(e,t,n,a,l)=>{const o=o=>{const s=Number(t.value),i=t.value.padStart(2,"0"),r="hour"===l,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?"AM":"PM"),updateInputAndTime(e,n,o,l,!r||c||d?i:transformTime12(t.value));};return t.addEventListener("input",o),()=>{t.removeEventListener("input",o);}},handleMouseOver=e=>e.setAttribute("data-vc-input-focus",""),handleMouseOut=e=>e.removeAttribute("data-vc-input-focus"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),a=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),l=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),o=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),s=t.querySelector('[data-vc-time="keeping"]');if(!(n&&a&&l&&o))return;const i=e=>{e.target===n&&handleMouseOver(l),e.target===a&&handleMouseOver(o);},r=e=>{e.target===n&&handleMouseOut(l),e.target===a&&handleMouseOut(o);};return t.addEventListener("mouseover",i),t.addEventListener("mouseout",r),handleInput$1(e,n,l,s,"hour",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,o,s,"minute",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,l,s,"hour"),handleRange(e,a,o,s,"minute"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener("mouseover",i),t.removeEventListener("mouseout",r);}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[l,o]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i="range"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\n
\n ${TimeInput("hour",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\n ${TimeInput("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\n ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,``):""}\n
\n
\n ${TimeRange("hour",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\n ${TimeRange("minute",e.styles.timeRange,e.labels,l,o,e.timeStepMinute,e.context.selectedMinutes)}\n
\n `),handleTime(e,t);},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,l)=>[...n,{id:l,titleShort:e.context.locale.weekdays.short[l],titleLong:a,isWeekend:t.includes(l)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(n.type="button"),a.forEach((a=>{const l=n.cloneNode(true);l.innerText=a.titleShort,l.className=e.styles.weekDay,l.role="columnheader",l.ariaLabel=a.titleLong,l.dataset.vcWeekDay=String(a.id),a.isWeekend&&(l.dataset.vcWeekDayOff=""),t.appendChild(l);}));}));},createYearEl=(e,t,n,a,l)=>{const o=t.cloneNode(false);return o.className=e.styles.yearsYear,o.innerText=String(l),o.ariaLabel=String(l),o.role="gridcell",o.dataset.vcYearsYear=`${l}`,a&&(o.ariaDisabled="true"),a&&(o.tabIndex=-1),o.disabled=a,setYearModifier(e,o,"year",n===l,false),o},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,"currentType","year"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const l=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!l)return;const o="multiple"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement("button");s.type="button";for(let t=e.context.displayYear-7;tgetDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);l.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i);}null==(n=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||n.focus();},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;ahaveListener.value=true,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach((t=>setTheme(t,e.matches?"dark":"light")));};t.addEventListener?t.addEventListener("change",n):t.addListener(n),haveListener.set();},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,((e,t)=>t));if(!n||"system"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const l=n.getAttribute(a);l?(setTheme(e.context.mainElement,l),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t);}))):trackChangesThemeInSystemSettings(e,t);},handleTheme=e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?detectTheme(e,window.matchMedia("(prefers-color-scheme: dark)")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,"light");},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),l=a.toLocaleString(n,{weekday:"short",timeZone:"UTC"}),o=a.toLocaleString(n,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(l)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o));},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),l=a.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=a.toLocaleString(n,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(capitalizeFirstLetter(l)),e.context.locale.months.long.push(capitalizeFirstLetter(o));},getLocale=e=>{var t,n,a,l,o,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)));}else {if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(l=null==(a=e.locale)?void 0:a.weekdays)?void 0:l.long[6])&&(null==(s=null==(o=e.locale)?void 0:o.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,"locale",__spreadValues({},e.locale));}},create=e=>{const t={default:()=>{createWeek(e),createDates(e);},multiple:()=>{createWeek(e),createDates(e);},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]();},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)||"button"!==a.localName)return;const l=Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),o=l.indexOf(a);if(-1===o)return;const s=(i=l[o]).hasAttribute("data-vc-date-btn")?7:i.hasAttribute("data-vc-months-month")?4:i.hasAttribute("data-vc-years-year")?5:1;var i;const r=(0, {ArrowUp:()=>Math.max(0,o-s),ArrowDown:()=>Math.min(l.length-1,o+s),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(l.length-1,o+1)}[t.key])();null==(n=l[r])||n.focus();};return e.context.mainElement.addEventListener("keydown",t),()=>e.context.mainElement.removeEventListener("keydown",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));(({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)}))[t](),setContext(e,"selectedMonth",n.getMonth()),setContext(e,"selectedYear",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e);},handleClickArrow=(e,t)=>{const n=t.target.closest("[data-vc-arrow]");if(n){if(["default","multiple"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,"displayYear",e.context.displayYear+a),createYears(e,t.target);}e.onClickArrow&&e.onClickArrow(e,t);}},canToggleSelection=e=>void 0===e.enableDateToggle||("function"==typeof e.enableDateToggle?e.enableDateToggle(e):e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,l=t.closest("[data-vc-date][data-vc-date-selected]"),o=canToggleSelection(e);if(l&&!o)return;const s=l?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,"selectedDates",s);},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const a=e.context.mainElement.getBoundingClientRect(),l=n.getBoundingClientRect();t.style.left=l.left-a.left+l.width/2+"px",t.style.top=l.bottom-a.top-l.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,l,a));},state={self:null,lastDateEl:null,isHovering:false,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,l,o;if(!(null==(l=null==(a=state.self)?void 0:a.context)?void 0:l.selectedDates[0]))return;const s=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`).forEach((e=>e.dataset.vcDateHover="")),t.forEach((e=>e.dataset.vcDateHover="first")),n.forEach((e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last";})));},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach((e=>e.removeAttribute("data-vc-date-hover")));},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc="dates"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest("[data-vc-date]");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const l=a.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),s=getDate(l),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${l}"]`),[c,d]=o{const t=null==e?void 0:e.closest("[data-vc-date-selected]");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t));},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=true,requestAnimationFrame((()=>{e(n),state.isHovering=false;})));},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&"Escape"===e.key&&(state.lastDateEl=null,setContext(state.self,"selectedDates",[]),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect());},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect();}),50);},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const l=getDate(state.self.context.selectedDates[0]),[o,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[l>=n?n:e,l{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,"selectedDates",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)));}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.addEventListener("keydown",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates);}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],l=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=l?e.enableEdgeDatesOnly?[n,a]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,"selectedDates",s),e.disableDatesGaps&&(setContext(e,"displayDateMin",state.rangeMin),setContext(e,"displayDateMax",state.rangeMax)),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave);}}})[1===e.context.selectedDates.length?"set":"reset"]();},updateDateModifier=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach((t=>{const n=t.querySelector("[data-vc-date-btn]"),a=t.dataset.vcDate,l=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,l,a,"current");}));},handleClickDate=(e,t)=>{var n;const a=t.target,l=a.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!l)return;const o=l.closest("[data-vc-date]");(({single:()=>handleSelectDate(e,o,false),multiple:()=>handleSelectDate(e,o,true),"multiple-ranged":()=>handleSelectDateRange(e,o)}))[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month="prev"]'),i=a.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"prev"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"next"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?"prev":i?"next":"current"]();},typeClick=["month","year"],getValue=(e,t,n)=>{const{currentValue:a,columnID:l}=getColumnID(e,t);return "month"===e.context.currentType&&l>=0?n-l:"year"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,"year",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,"year"),i=e.context.selectedMonthl.getMonth()-o+s&&n>=l.getFullYear(),c=nl.getFullYear(),u=i||c?a.getFullYear():r||d?l.getFullYear():n,m=i||c?a.getMonth():r||d?l.getMonth()-o+s:e.context.selectedMonth;setContext(e,"selectedYear",u),setContext(e,"selectedMonth",m);},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),a=getValue(e,"month",Number(t.dataset.vcMonthsMonth)),l=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=as.getMonth()&&l>=s.getFullYear();setContext(e,"selectedYear",l),setContext(e,"selectedMonth",i?o.getMonth():r?s.getMonth():a);},handleItemClick=(e,t,n,a)=>{var l;({year:()=>{if("multiple"===e.type)return handleMultipleYearSelection(e,a);setContext(e,"selectedYear",Number(a.dataset.vcYearsYear));},month:()=>{if("multiple"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,"selectedMonth",Number(a.dataset.vcMonthsMonth));}})[n]();(({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}}))[n](),e.context.currentType!==e.type?(setContext(e,"currentType",e.type),create(e),null==(l=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||l.focus()):setYearModifier(e,a,n,true,true);},handleClickType=(e,t,n)=>{var a;const l=t.target,o=l.closest(`[data-vc="${n}"]`),s={year:()=>createYears(e,l),month:()=>createMonths(e,l)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return s[n]();const i=l.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=l.closest('[data-vc="grid"]'),c=l.closest('[data-vc="column"]');(e.context.currentType===n&&o||"multiple"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,"currentType",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||a.focus());},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a);}));},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest("[data-vc-week-number]"),a=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!n||!a[0])return;const l=Number(n.innerText),o=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===l));e.onClickWeekNumber(e,l,o,s,t);},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest("[data-vc-week-day]"),a=t.target.closest('[data-vc="column"]'),l=a?a.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!n||!l[0])return;const o=Number(n.dataset.vcWeekDay),s=Array.from(l).filter((e=>Number(e.dataset.vcDateWeekDay)===o));e.onClickWeekDay(e,o,s,t);},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t);};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},initMonthsCount=e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1);},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>"today"===e?getLocalDate():e instanceof Date||"number"==typeof e||"string"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const l=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,l),i=resolveDate(e.displayDateMax,o);setContext(e,"dateToday",resolveDate(e.dateToday,e.dateToday)),setContext(e,"displayDateMin",s?getDate(l)>=getDate(s)?l:s:l),setContext(e,"displayDateMax",i?getDate(o)<=getDate(i)?o:i:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,"enableDates",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,"disableDates",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,"displayDateMin",e.context.enableDates[0]),setContext(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,"dateMin",e.displayDisabledDates?l:e.context.displayDateMin),setContext(e,"dateMax",e.displayDisabledDates?o:e.context.displayDateMax);},initSelectedDates=e=>{var t;setContext(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[]);},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear());};if(e.displayDateMin&&"today"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),true}var n,a;if(e.displayDateMax&&"today"!==e.displayDateMax&&((e,t)=>new Date(e).getTime(){setContext(e,"selectedMonth",t),setContext(e,"selectedYear",n),setContext(e,"displayYear",n);},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear());},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const l=12===e.selectionTimeMode,o=l?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?a:[];s?l&&!r&&(r="AM"):(s=l?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=l?Number(transformTime12(String(e.timeMinHour)))>=12?"PM":"AM":null),setContext(e,"selectedHours",s.padStart(2,"0")),setContext(e,"selectedMinutes",i.padStart(2,"0")),setContext(e,"selectedKeeping",r),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:""}`);},initAllVariables=e=>{setContext(e,"currentType",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e);},reset=(e,{year:t,month:n,dates:a,time:l,locale:o},s=true)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=l?r.time:e.context.selectedTime,e.selectedDates="only-first"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:true===a?r.dates:e.context.selectedDates,o){setContext(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}});}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,"multiple-ranged"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null);},createToInput=e=>{const t=document.createElement("div");return t.className=e.styles.calendar,t.dataset.vc="calendar",t.dataset.vcInput="",t.dataset.vcCalendarHidden="",setContext(e,"inputModeInit",true),setContext(e,"isShowInInputMode",false),setContext(e,"mainElement",t),document.body.appendChild(e.context.mainElement),reset(e,{year:true,month:true,dates:true,time:true,locale:true}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},handleInput=e=>{setContext(e,"inputElement",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e);};return e.context.inputElement.addEventListener("click",t),e.context.inputElement.addEventListener("focus",t),()=>{e.context.inputElement.removeEventListener("click",t),e.context.inputElement.removeEventListener("focus",t);}},init=e=>(setContext(e,"originalElement",e.context.mainElement.cloneNode(true)),setContext(e,"isInit",true),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:true,month:true,dates:true,time:true,locale:true}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e);},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a{replaceProperties(e,t),e.context.isInit&&update(e,n);};function findBestPickerPosition(e,t){const n="left";if(!t||!e)return n;const{canShow:a,parentPositions:l}=getAvailablePosition(e,t),o=a.left&&a.right;return (o&&a.bottom?"center":o&&a.top?["top","center"]:Array.isArray(l)?["bottom"===l[0]?"top":"bottom",...l.slice(1)]:l)||n}const setPosition=(e,t,n)=>{if(!e)return;const a="auto"===n?findBestPickerPosition(e,t):n,l={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(a)?a[0]:"bottom",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=o;const{top:i,left:r}=getOffset(e),c=i+l[o];let d=r+l[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e;}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`});},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,"cleanupHandlers",[]),setContext(e,"isShowInInputMode",true),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute("data-vc-calendar-hidden");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput);};window.addEventListener("resize",t),e.context.cleanupHandlers.push((()=>window.removeEventListener("resize",t)));const n=t=>{"Escape"===t.key&&hide(e);};document.addEventListener("keydown",n),e.context.cleanupHandlers.push((()=>document.removeEventListener("keydown",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e);};document.addEventListener("click",a,{capture:true}),e.context.cleanupHandlers.push((()=>document.removeEventListener("click",a,{capture:true}))),e.onShow&&e.onShow(e);},labels={application:"Calendar",navigation:"Calendar Navigation",arrowNext:{month:"Next month",year:"Next list of years"},arrowPrev:{month:"Previous month",year:"Previous list of years"},month:"Select month, current selected month:",months:"List of months",year:"Select year, current selected year:",years:"List of years",week:"Days of the week",weekNumber:"Numbers of weeks in a year",dates:"Dates in the current month",selectingTime:"Selecting a time ",inputHour:"Hours",inputMinute:"Minutes",rangeHour:"Slider for selecting hours",rangeMinute:"Slider for selecting minutes",btnKeeping:"Switch AM/PM, current position:"},styles={calendar:"vc",controls:"vc-controls",grid:"vc-grid",column:"vc-column",header:"vc-header",headerContent:"vc-header__content",month:"vc-month",year:"vc-year",arrowPrev:"vc-arrow vc-arrow_prev",arrowNext:"vc-arrow vc-arrow_next",wrapper:"vc-wrapper",content:"vc-content",months:"vc-months",monthsMonth:"vc-months__month",years:"vc-years",yearsYear:"vc-years__year",week:"vc-week",weekDay:"vc-week__day",weekNumbers:"vc-week-numbers",weekNumbersTitle:"vc-week-numbers__title",weekNumbersContent:"vc-week-numbers__content",weekNumber:"vc-week-number",dates:"vc-dates",date:"vc-date",dateBtn:"vc-date__btn",datePopup:"vc-date__popup",dateRangeTooltip:"vc-date-range-tooltip",time:"vc-time",timeContent:"vc-time__content",timeHour:"vc-time__hour",timeMinute:"vc-time__minute",timeKeeping:"vc-time__keeping",timeRanges:"vc-time__ranges",timeRange:"vc-time__range"};class OptionsCalendar{constructor(){__publicField(this,"type","default"),__publicField(this,"inputMode",false),__publicField(this,"positionToInput","left"),__publicField(this,"firstWeekday",1),__publicField(this,"monthsToSwitch",1),__publicField(this,"themeAttrDetect","html[data-theme]"),__publicField(this,"locale","en"),__publicField(this,"dateToday","today"),__publicField(this,"dateMin","1970-01-01"),__publicField(this,"dateMax","2470-12-31"),__publicField(this,"displayDateMin"),__publicField(this,"displayDateMax"),__publicField(this,"displayDatesOutside",true),__publicField(this,"displayDisabledDates",false),__publicField(this,"displayMonthsCount"),__publicField(this,"disableDates",[]),__publicField(this,"disableAllDates",false),__publicField(this,"disableDatesPast",false),__publicField(this,"disableDatesGaps",false),__publicField(this,"disableWeekdays",[]),__publicField(this,"disableToday",false),__publicField(this,"enableDates",[]),__publicField(this,"enableEdgeDatesOnly",true),__publicField(this,"enableDateToggle",true),__publicField(this,"enableWeekNumbers",false),__publicField(this,"enableMonthChangeOnDayClick",true),__publicField(this,"enableJumpToSelectedDate",false),__publicField(this,"selectionDatesMode","single"),__publicField(this,"selectionMonthsMode",true),__publicField(this,"selectionYearsMode",true),__publicField(this,"selectionTimeMode",false),__publicField(this,"selectedDates",[]),__publicField(this,"selectedMonth"),__publicField(this,"selectedYear"),__publicField(this,"selectedHolidays",[]),__publicField(this,"selectedWeekends",[0,6]),__publicField(this,"selectedTime"),__publicField(this,"selectedTheme","system"),__publicField(this,"timeMinHour",0),__publicField(this,"timeMaxHour",23),__publicField(this,"timeMinMinute",0),__publicField(this,"timeMaxMinute",59),__publicField(this,"timeControls","all"),__publicField(this,"timeStepHour",1),__publicField(this,"timeStepMinute",1),__publicField(this,"sanitizerHTML",(e=>e)),__publicField(this,"onClickDate"),__publicField(this,"onClickWeekDay"),__publicField(this,"onClickWeekNumber"),__publicField(this,"onClickTitle"),__publicField(this,"onClickMonth"),__publicField(this,"onClickYear"),__publicField(this,"onClickArrow"),__publicField(this,"onChangeTime"),__publicField(this,"onChangeToInput"),__publicField(this,"onCreateDateRangeTooltip"),__publicField(this,"onCreateDateEls"),__publicField(this,"onCreateMonthEls"),__publicField(this,"onCreateYearEls"),__publicField(this,"onInit"),__publicField(this,"onUpdate"),__publicField(this,"onDestroy"),__publicField(this,"onShow"),__publicField(this,"onHide"),__publicField(this,"popups",{}),__publicField(this,"labels",__spreadValues({},labels)),__publicField(this,"layouts",{default:"",multiple:"",month:"",year:""}),__publicField(this,"styles",__spreadValues({},styles));}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,"init",(()=>init(this))),__publicField(this,"update",(e=>update(this,e))),__publicField(this,"destroy",(()=>destroy(this))),__publicField(this,"show",(()=>show(this))),__publicField(this,"hide",(()=>hide(this))),__publicField(this,"set",((e,t)=>set(this,e,t))),__publicField(this,"context"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,"mainElement","string"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n);}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,"memoizedElements",new Map);let Calendar=_Calendar; - - /** - * -------------------------------------------------------------------------- - * Bootstrap datepicker.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - - /** - * Constants - */ - - const NAME$f = 'datepicker'; - const DATA_KEY$b = 'bs.datepicker'; - const EVENT_KEY$b = `.${DATA_KEY$b}`; - const DATA_API_KEY$6 = '.data-api'; - const EVENT_CHANGE = `change${EVENT_KEY$b}`; - const EVENT_SHOW$6 = `show${EVENT_KEY$b}`; - const EVENT_SHOWN$6 = `shown${EVENT_KEY$b}`; - const EVENT_HIDE$6 = `hide${EVENT_KEY$b}`; - const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$b}`; - const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$b}${DATA_API_KEY$6}`; - const EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY$b}${DATA_API_KEY$6}`; - const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="datepicker"]'; - const HIDE_DELAY = 100; // ms delay before hiding after selection - - const Default$e = { - datepickerTheme: null, - // 'light', 'dark', 'auto' - explicit theme for datepicker popover only - dateMin: null, - dateMax: null, - dateFormat: null, - // Intl.DateTimeFormat options, or function(date, locale) => string - displayElement: null, - // Element to show formatted date (defaults to element for buttons) - displayMonthsCount: 1, - // Number of months to display side-by-side - firstWeekday: 1, - // Monday - inline: false, - // Render calendar inline (no popup) - locale: 'default', - positionElement: null, - // Element to position calendar relative to (defaults to input) - selectedDates: [], - selectionMode: 'single', - // 'single', 'multiple', 'multiple-ranged' - placement: 'left', - // 'left', 'center', 'right', 'auto' - vcpOptions: {} // Pass-through for any VCP option - }; - const DefaultType$e = { - datepickerTheme: '(null|string)', - dateMin: '(null|string|number|object)', - dateMax: '(null|string|number|object)', - dateFormat: '(null|object|function)', - displayElement: '(null|string|element|boolean)', - displayMonthsCount: 'number', - firstWeekday: 'number', - inline: 'boolean', - locale: 'string', - positionElement: '(null|string|element)', - selectedDates: 'array', - selectionMode: 'string', - placement: 'string', - vcpOptions: 'object' - }; - - /** - * Class definition - */ - - class Datepicker extends BaseComponent { - constructor(element, config) { - super(element, config); - this._calendar = null; - this._isShown = false; - this._initCalendar(); + _resolveDisplayElement() { + const { + displayElement + } = this._config; + if (typeof displayElement === 'string') { + return document.querySelector(displayElement); } - // Getters - static get Default() { - return Default$e; + // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child + if (displayElement === true || displayElement === null && !this._isInput && !this._isInline) { + const displayChild = this._element.querySelector('[data-bs-datepicker-display]'); + return displayChild || this._element; } - static get DefaultType() { - return DefaultType$e; + return displayElement; + } + _getThemeAncestor() { + return this._element.closest('[data-bs-theme]'); + } + _getEffectiveTheme() { + // Priority: explicit datepickerTheme config > inherited from ancestor > none + const { + datepickerTheme + } = this._config; + if (datepickerTheme) { + return datepickerTheme; } - static get NAME() { - return NAME$f; + const ancestor = this._getThemeAncestor(); + return ancestor?.getAttribute('data-bs-theme') || null; + } + _syncThemeAttribute(element) { + if (!element) { + return; } - - // Public - toggle() { - if (this._config.inline) { - return; // Inline calendars are always visible - } - return this._isShown ? this.hide() : this.show(); + const theme = this._getEffectiveTheme(); + if (theme) { + // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance) + element.setAttribute('data-bs-theme', theme); + } else { + // No theme - remove attribute to allow natural inheritance + element.removeAttribute('data-bs-theme'); } - show() { - if (this._config.inline) { - return; // Inline calendars are always visible - } - if (!this._calendar || isDisabled(this._element) || this._isShown) { - return; - } - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); - if (showEvent.defaultPrevented) { - return; - } - this._calendar.show(); - this._isShown = true; - EventHandler.trigger(this._element, EVENT_SHOWN$6); + } + _setupThemeObserver() { + // Watch for theme changes on ancestor elements + const ancestor = this._getThemeAncestor(); + if (!ancestor || this._config.datepickerTheme) { + // No ancestor to watch, or explicit datepickerTheme overrides + return; } - hide() { - if (this._config.inline) { - return; // Inline calendars are always visible - } - if (!this._calendar || !this._isShown) { - return; - } - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); - if (hideEvent.defaultPrevented) { - return; - } - this._calendar.hide(); - this._isShown = false; - EventHandler.trigger(this._element, EVENT_HIDDEN$6); - } - dispose() { - if (this._themeObserver) { - this._themeObserver.disconnect(); - this._themeObserver = null; - } - if (this._calendar) { - this._calendar.destroy(); + this._themeObserver = new MutationObserver(() => { + this._syncThemeAttribute(this._calendar?.context?.mainElement); + }); + this._themeObserver.observe(ancestor, { + attributes: true, + attributeFilter: ['data-bs-theme'] + }); + } + _buildCalendarOptions() { + // Get theme for VCP - use 'system' for auto-detection if no explicit theme + const theme = this._getEffectiveTheme(); + // VCP uses 'system' for auto, Bootstrap uses 'auto' + const vcpTheme = !theme || theme === 'auto' ? 'system' : theme; + const calendarOptions = { + ...this._config.vcpOptions, + inputMode: !this._isInline, + positionToInput: this._config.placement, + firstWeekday: this._config.firstWeekday, + locale: this._config.locale, + selectionDatesMode: this._config.selectionMode, + selectedDates: this._config.selectedDates, + displayMonthsCount: this._config.displayMonthsCount, + type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default', + selectedTheme: vcpTheme, + themeAttrDetect: '[data-bs-theme]', + onClickDate: (self, event) => this._handleDateClick(self, event), + onInit: self => { + this._syncThemeAttribute(self.context.mainElement); + }, + onShow: () => { + this._isShown = true; + this._syncThemeAttribute(this._calendar.context.mainElement); + }, + onHide: () => { + this._isShown = false; } - this._calendar = null; - super.dispose(); - } - getSelectedDates() { - const dates = this._calendar?.context?.selectedDates; - return dates ? [...dates] : []; + }; + + // Navigate to the month of the first selected date + if (this._config.selectedDates.length > 0) { + const firstDate = this._parseDate(this._config.selectedDates[0]); + calendarOptions.selectedMonth = firstDate.getMonth(); + calendarOptions.selectedYear = firstDate.getFullYear(); } - setSelectedDates(dates) { - if (this._calendar) { - this._calendar.set({ - selectedDates: dates - }); - } + if (this._config.dateMin) { + calendarOptions.dateMin = this._config.dateMin; } - - // Private - _initCalendar() { - this._isInput = this._element.tagName === 'INPUT'; - this._isInline = this._config.inline; - - // For inline mode, look for a hidden input child to bind to - if (this._isInline && !this._isInput) { - this._boundInput = this._element.querySelector('input[type="hidden"], input[name]'); - } - this._positionElement = this._resolvePositionElement(); - this._displayElement = this._resolveDisplayElement(); - const calendarOptions = this._buildCalendarOptions(); - - // Create calendar on the position element (for correct popup positioning) - // but value updates still go to this._element (the input) - this._calendar = new Calendar(this._positionElement, calendarOptions); - this._calendar.init(); - - // Watch for theme changes on ancestor elements (for live theme switching) - this._setupThemeObserver(); - - // Set initial value if input has a value - if (this._isInput && this._element.value) { - this._parseInputValue(); - } - - // Populate input/display with preselected dates - this._updateDisplayWithSelectedDates(); + if (this._config.dateMax) { + calendarOptions.dateMax = this._config.dateMax; } - _updateDisplayWithSelectedDates() { - const { - selectedDates - } = this._config; - if (!selectedDates || selectedDates.length === 0) { - return; - } + return calendarOptions; + } + _handleDateClick(self, event) { + const selectedDates = [...self.context.selectedDates]; + if (selectedDates.length > 0) { const formattedDate = this._formatDateForInput(selectedDates); if (this._isInput) { this._element.value = formattedDate; @@ -1764,6018 +1890,5857 @@ this._displayElement.textContent = formattedDate; } } - _resolvePositionElement() { - let { - positionElement - } = this._config; - if (typeof positionElement === 'string') { - positionElement = document.querySelector(positionElement); - } - - // Use input's parent if in form-adorn - if (!positionElement && this._isInput && !this._isInline) { - const parent = this._element.closest('.form-adorn'); - if (parent) { - positionElement = parent; - } - } - return positionElement || this._element; + EventHandler.trigger(this._element, EVENT_CHANGE, { + dates: selectedDates, + event + }); + this._maybeHideAfterSelection(selectedDates); + } + _maybeHideAfterSelection(selectedDates) { + if (this._isInline) { + return; } - _resolveDisplayElement() { - const { - displayElement - } = this._config; - if (typeof displayElement === 'string') { - return document.querySelector(displayElement); - } - - // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child - if (displayElement === true || displayElement === null && !this._isInput && !this._isInline) { - const displayChild = this._element.querySelector('[data-bs-datepicker-display]'); - return displayChild || this._element; - } - return displayElement; + const shouldHide = this._config.selectionMode === 'single' && selectedDates.length > 0 || this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2; + if (shouldHide) { + setTimeout(() => this.hide(), HIDE_DELAY); } - _getThemeAncestor() { - return this._element.closest('[data-bs-theme]'); + } + _parseDate(dateStr) { + const [year, month, day] = dateStr.split('-'); + return new Date(year, month - 1, day); + } + _formatDate(dateStr) { + const date = this._parseDate(dateStr); + const locale = this._config.locale === 'default' ? undefined : this._config.locale; + const { + dateFormat + } = this._config; + + // Custom function formatter + if (typeof dateFormat === 'function') { + return dateFormat(date, locale); } - _getEffectiveTheme() { - // Priority: explicit datepickerTheme config > inherited from ancestor > none - const { - datepickerTheme - } = this._config; - if (datepickerTheme) { - return datepickerTheme; - } - const ancestor = this._getThemeAncestor(); - return ancestor?.getAttribute('data-bs-theme') || null; + + // Intl.DateTimeFormat options object + if (dateFormat && typeof dateFormat === 'object') { + return new Intl.DateTimeFormat(locale, dateFormat).format(date); } - _syncThemeAttribute(element) { - if (!element) { - return; - } - const theme = this._getEffectiveTheme(); - if (theme) { - // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance) - element.setAttribute('data-bs-theme', theme); - } else { - // No theme - remove attribute to allow natural inheritance - element.removeAttribute('data-bs-theme'); - } + + // Default: locale-aware formatting + return date.toLocaleDateString(locale); + } + _formatDateForInput(dates) { + if (dates.length === 0) { + return ''; } - _setupThemeObserver() { - // Watch for theme changes on ancestor elements - const ancestor = this._getThemeAncestor(); - if (!ancestor || this._config.datepickerTheme) { - // No ancestor to watch, or explicit datepickerTheme overrides - return; - } - this._themeObserver = new MutationObserver(() => { - this._syncThemeAttribute(this._calendar?.context?.mainElement); - }); - this._themeObserver.observe(ancestor, { - attributes: true, - attributeFilter: ['data-bs-theme'] - }); + if (dates.length === 1) { + return this._formatDate(dates[0]); } - _buildCalendarOptions() { - // Get theme for VCP - use 'system' for auto-detection if no explicit theme - const theme = this._getEffectiveTheme(); - // VCP uses 'system' for auto, Bootstrap uses 'auto' - const vcpTheme = !theme || theme === 'auto' ? 'system' : theme; - const calendarOptions = { - ...this._config.vcpOptions, - inputMode: !this._isInline, - positionToInput: this._config.placement, - firstWeekday: this._config.firstWeekday, - locale: this._config.locale, - selectionDatesMode: this._config.selectionMode, - selectedDates: this._config.selectedDates, - displayMonthsCount: this._config.displayMonthsCount, - type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default', - selectedTheme: vcpTheme, - themeAttrDetect: '[data-bs-theme]', - onClickDate: (self, event) => this._handleDateClick(self, event), - onInit: self => { - this._syncThemeAttribute(self.context.mainElement); - }, - onShow: () => { - this._isShown = true; - this._syncThemeAttribute(this._calendar.context.mainElement); - }, - onHide: () => { - this._isShown = false; - } - }; - // Navigate to the month of the first selected date - if (this._config.selectedDates.length > 0) { - const firstDate = this._parseDate(this._config.selectedDates[0]); - calendarOptions.selectedMonth = firstDate.getMonth(); - calendarOptions.selectedYear = firstDate.getFullYear(); - } - if (this._config.dateMin) { - calendarOptions.dateMin = this._config.dateMin; - } - if (this._config.dateMax) { - calendarOptions.dateMax = this._config.dateMax; - } - return calendarOptions; - } - _handleDateClick(self, event) { - const selectedDates = [...self.context.selectedDates]; - if (selectedDates.length > 0) { - const formattedDate = this._formatDateForInput(selectedDates); - if (this._isInput) { - this._element.value = formattedDate; - } - if (this._boundInput) { - this._boundInput.value = selectedDates.join(','); - } - if (this._displayElement) { - this._displayElement.textContent = formattedDate; - } - } - EventHandler.trigger(this._element, EVENT_CHANGE, { - dates: selectedDates, - event - }); - this._maybeHideAfterSelection(selectedDates); - } - _maybeHideAfterSelection(selectedDates) { - if (this._isInline) { - return; - } - const shouldHide = this._config.selectionMode === 'single' && selectedDates.length > 0 || this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2; - if (shouldHide) { - setTimeout(() => this.hide(), HIDE_DELAY); - } + // For date ranges, use en-dash; for multiple dates, use comma + const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '; + return dates.map(d => this._formatDate(d)).join(separator); + } + _parseInputValue() { + // Try to parse the input value as a date + const value = this._element.value.trim(); + if (!value) { + return; } - _parseDate(dateStr) { - const [year, month, day] = dateStr.split('-'); - return new Date(year, month - 1, day); + const date = new Date(value); + if (!Number.isNaN(date.getTime())) { + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const day = String(date.getDate()).padStart(2, '0'); + const formatted = `${year}-${month}-${day}`; + this._calendar.set({ + selectedDates: [formatted] + }); } - _formatDate(dateStr) { - const date = this._parseDate(dateStr); - const locale = this._config.locale === 'default' ? undefined : this._config.locale; - const { - dateFormat - } = this._config; - - // Custom function formatter - if (typeof dateFormat === 'function') { - return dateFormat(date, locale); - } + } +} - // Intl.DateTimeFormat options object - if (dateFormat && typeof dateFormat === 'object') { - return new Intl.DateTimeFormat(locale, dateFormat).format(date); - } +/** + * Data API implementation + */ - // Default: locale-aware formatting - return date.toLocaleDateString(locale); - } - _formatDateForInput(dates) { - if (dates.length === 0) { - return ''; - } - if (dates.length === 1) { - return this._formatDate(dates[0]); - } +EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$7, function (event) { + // Only handle if not an input (inputs use focus) + // Skip inline datepickers (they're always visible) + if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') { + return; + } + event.preventDefault(); + Datepicker.getOrCreateInstance(this).toggle(); +}); +EventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE$7, function () { + // Handle focus for input elements + if (this.tagName !== 'INPUT') { + return; + } + Datepicker.getOrCreateInstance(this).show(); +}); - // For date ranges, use en-dash; for multiple dates, use comma - const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '; - return dates.map(d => this._formatDate(d)).join(separator); - } - _parseInputValue() { - // Try to parse the input value as a date - const value = this._element.value.trim(); - if (!value) { - return; - } - const date = new Date(value); - if (!Number.isNaN(date.getTime())) { - const year = date.getFullYear(); - const month = String(date.getMonth() + 1).padStart(2, '0'); - const day = String(date.getDate()).padStart(2, '0'); - const formatted = `${year}-${month}-${day}`; - this._calendar.set({ - selectedDates: [formatted] - }); - } - } +// Auto-initialize inline datepickers on DOMContentLoaded +EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$b}${DATA_API_KEY$6}`, () => { + for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$7}[data-bs-inline="true"]`)) { + Datepicker.getOrCreateInstance(element); + } +}); + +/** + * -------------------------------------------------------------------------- + * Bootstrap dialog.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + + +/** + * Constants + */ + +const NAME$e = 'dialog'; +const DATA_KEY$a = 'bs.dialog'; +const EVENT_KEY$a = `.${DATA_KEY$a}`; +const DATA_API_KEY$5 = '.data-api'; +const EVENT_SHOW$5 = `show${EVENT_KEY$a}`; +const EVENT_SHOWN$5 = `shown${EVENT_KEY$a}`; +const EVENT_HIDE$5 = `hide${EVENT_KEY$a}`; +const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$a}`; +const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$a}`; +const EVENT_CANCEL = `cancel${EVENT_KEY$a}`; +const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$a}${DATA_API_KEY$5}`; +const CLASS_NAME_STATIC = 'dialog-static'; +const CLASS_NAME_OPEN = 'dialog-open'; +const CLASS_NAME_NONMODAL = 'dialog-nonmodal'; +const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="dialog"]'; +const SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'; +const Default$d = { + backdrop: true, + // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs + keyboard: true, + modal: true // true uses showModal(), false uses show() for non-modal dialogs +}; +const DefaultType$d = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + modal: 'boolean' +}; + +/** + * Class definition + */ + +class Dialog extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isTransitioning = false; + this._addEventListeners(); } - /** - * Data API implementation - */ + // Getters + static get Default() { + return Default$d; + } + static get DefaultType() { + return DefaultType$d; + } + static get NAME() { + return NAME$e; + } - EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$7, function (event) { - // Only handle if not an input (inputs use focus) - // Skip inline datepickers (they're always visible) - if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') { + // Public + toggle(relatedTarget) { + return this._element.open ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._element.open || this._isTransitioning) { return; } - event.preventDefault(); - Datepicker.getOrCreateInstance(this).toggle(); - }); - EventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE$7, function () { - // Handle focus for input elements - if (this.tagName !== 'INPUT') { + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, { + relatedTarget + }); + if (showEvent.defaultPrevented) { return; } - Datepicker.getOrCreateInstance(this).show(); - }); - - // Auto-initialize inline datepickers on DOMContentLoaded - EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$b}${DATA_API_KEY$6}`, () => { - for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$7}[data-bs-inline="true"]`)) { - Datepicker.getOrCreateInstance(element); + this._isTransitioning = true; + if (this._config.modal) { + // Modal dialog: use showModal() for focus trapping, backdrop, and top layer + this._element.showModal(); + // Prevent body scroll for modal dialogs + document.body.classList.add(CLASS_NAME_OPEN); + } else { + // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer + this._element.classList.add(CLASS_NAME_NONMODAL); + this._element.show(); } - }); - - /** - * -------------------------------------------------------------------------- - * Bootstrap dialog.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - - /** - * Constants - */ - - const NAME$e = 'dialog'; - const DATA_KEY$a = 'bs.dialog'; - const EVENT_KEY$a = `.${DATA_KEY$a}`; - const DATA_API_KEY$5 = '.data-api'; - const EVENT_SHOW$5 = `show${EVENT_KEY$a}`; - const EVENT_SHOWN$5 = `shown${EVENT_KEY$a}`; - const EVENT_HIDE$5 = `hide${EVENT_KEY$a}`; - const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$a}`; - const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$a}`; - const EVENT_CANCEL = `cancel${EVENT_KEY$a}`; - const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$a}${DATA_API_KEY$5}`; - const CLASS_NAME_STATIC = 'dialog-static'; - const CLASS_NAME_OPEN = 'dialog-open'; - const CLASS_NAME_NONMODAL = 'dialog-nonmodal'; - const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="dialog"]'; - const SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'; - const Default$d = { - backdrop: true, - // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs - keyboard: true, - modal: true // true uses showModal(), false uses show() for non-modal dialogs - }; - const DefaultType$d = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - modal: 'boolean' - }; - - /** - * Class definition - */ - - class Dialog extends BaseComponent { - constructor(element, config) { - super(element, config); + this._queueCallback(() => { this._isTransitioning = false; - this._addEventListeners(); - } - - // Getters - static get Default() { - return Default$d; - } - static get DefaultType() { - return DefaultType$d; + EventHandler.trigger(this._element, EVENT_SHOWN$5, { + relatedTarget + }); + }, this._element, this._isAnimated()); + } + hide() { + if (!this._element.open || this._isTransitioning) { + return; } - static get NAME() { - return NAME$e; + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5); + if (hideEvent.defaultPrevented) { + return; } + this._isTransitioning = true; + this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated()); + } + dispose() { + EventHandler.off(this._element, EVENT_KEY$a); + super.dispose(); + } + handleUpdate() { + // Provided for API consistency with Modal. + // Native dialogs handle their own positioning. + } + + // Private + _hideDialog() { + this._element.close(); + this._element.classList.remove(CLASS_NAME_NONMODAL); + this._isTransitioning = false; - // Public - toggle(relatedTarget) { - return this._element.open ? this.hide() : this.show(relatedTarget); + // Only restore body scroll if no other modal dialogs are open + if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) { + document.body.classList.remove(CLASS_NAME_OPEN); } - show(relatedTarget) { - if (this._element.open || this._isTransitioning) { - return; - } - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, { - relatedTarget - }); - if (showEvent.defaultPrevented) { + EventHandler.trigger(this._element, EVENT_HIDDEN$5); + } + _isAnimated() { + return this._element.classList.contains('fade'); + } + _triggerBackdropTransition() { + const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); + if (hidePreventedEvent.defaultPrevented) { + return; + } + this._element.classList.add(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.classList.remove(CLASS_NAME_STATIC); + }, this._element); + } + _addEventListeners() { + // Handle native cancel event (Escape key) - only fires for modal dialogs + EventHandler.on(this._element, 'cancel', event => { + // Prevent native close behavior - we'll handle it + event.preventDefault(); + if (!this._config.keyboard) { + this._triggerBackdropTransition(); return; } - this._isTransitioning = true; - if (this._config.modal) { - // Modal dialog: use showModal() for focus trapping, backdrop, and top layer - this._element.showModal(); - // Prevent body scroll for modal dialogs - document.body.classList.add(CLASS_NAME_OPEN); - } else { - // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer - this._element.classList.add(CLASS_NAME_NONMODAL); - this._element.show(); - } - this._queueCallback(() => { - this._isTransitioning = false; - EventHandler.trigger(this._element, EVENT_SHOWN$5, { - relatedTarget - }); - }, this._element, this._isAnimated()); - } - hide() { - if (!this._element.open || this._isTransitioning) { + EventHandler.trigger(this._element, EVENT_CANCEL); + this.hide(); + }); + + // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show()) + EventHandler.on(this._element, 'keydown', event => { + if (event.key !== 'Escape' || this._config.modal) { return; } - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5); - if (hideEvent.defaultPrevented) { + event.preventDefault(); + if (!this._config.keyboard) { return; } - this._isTransitioning = true; - this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated()); - } - dispose() { - EventHandler.off(this._element, EVENT_KEY$a); - super.dispose(); - } - handleUpdate() { - // Provided for API consistency with Modal. - // Native dialogs handle their own positioning. - } - - // Private - _hideDialog() { - this._element.close(); - this._element.classList.remove(CLASS_NAME_NONMODAL); - this._isTransitioning = false; + EventHandler.trigger(this._element, EVENT_CANCEL); + this.hide(); + }); - // Only restore body scroll if no other modal dialogs are open - if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) { - document.body.classList.remove(CLASS_NAME_OPEN); + // Handle backdrop clicks (only applies to modal dialogs) + // Native fires click on the dialog element when backdrop is clicked + EventHandler.on(this._element, 'click', event => { + // Only handle clicks directly on the dialog (backdrop area) + // Non-modal dialogs don't have a backdrop + if (event.target !== this._element || !this._config.modal) { + return; } - EventHandler.trigger(this._element, EVENT_HIDDEN$5); - } - _isAnimated() { - return this._element.classList.contains('fade'); - } - _triggerBackdropTransition() { - const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); - if (hidePreventedEvent.defaultPrevented) { + if (this._config.backdrop === 'static') { + this._triggerBackdropTransition(); return; } - this._element.classList.add(CLASS_NAME_STATIC); - this._queueCallback(() => { - this._element.classList.remove(CLASS_NAME_STATIC); - }, this._element); - } - _addEventListeners() { - // Handle native cancel event (Escape key) - only fires for modal dialogs - EventHandler.on(this._element, 'cancel', event => { - // Prevent native close behavior - we'll handle it - event.preventDefault(); - if (!this._config.keyboard) { - this._triggerBackdropTransition(); - return; - } - EventHandler.trigger(this._element, EVENT_CANCEL); - this.hide(); - }); - - // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show()) - EventHandler.on(this._element, 'keydown', event => { - if (event.key !== 'Escape' || this._config.modal) { - return; - } - event.preventDefault(); - if (!this._config.keyboard) { - return; - } - EventHandler.trigger(this._element, EVENT_CANCEL); - this.hide(); - }); - - // Handle backdrop clicks (only applies to modal dialogs) - // Native fires click on the dialog element when backdrop is clicked - EventHandler.on(this._element, 'click', event => { - // Only handle clicks directly on the dialog (backdrop area) - // Non-modal dialogs don't have a backdrop - if (event.target !== this._element || !this._config.modal) { - return; - } - if (this._config.backdrop === 'static') { - this._triggerBackdropTransition(); - return; - } - // Default: click backdrop to dismiss - this.hide(); - }); - } + // Default: click backdrop to dismiss + this.hide(); + }); } +} - /** - * Data API implementation - */ +/** + * Data API implementation + */ - EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$6, function (event) { - const target = SelectorEngine.getElementFromSelector(this); - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); +EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$6, function (event) { + const target = SelectorEngine.getElementFromSelector(this); + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + EventHandler.one(target, EVENT_SHOW$5, showEvent => { + if (showEvent.defaultPrevented) { + return; } - EventHandler.one(target, EVENT_SHOW$5, showEvent => { - if (showEvent.defaultPrevented) { - return; + EventHandler.one(target, EVENT_HIDDEN$5, () => { + if (isVisible(this)) { + this.focus(); } - EventHandler.one(target, EVENT_HIDDEN$5, () => { - if (isVisible(this)) { - this.focus(); - } - }); }); + }); - // Get config from trigger's data attributes - const config = Manipulator.getDataAttributes(this); - - // Check if trigger is inside an open dialog - const currentDialog = this.closest('dialog[open]'); - const shouldSwap = currentDialog && currentDialog !== target; - if (shouldSwap) { - // Open new dialog first (its backdrop appears over current) - const newDialog = Dialog.getOrCreateInstance(target, config); - newDialog.show(this); - - // Close the current dialog (no backdrop flash since new one is already open) - const currentInstance = Dialog.getInstance(currentDialog); - if (currentInstance) { - currentInstance.hide(); - } - return; + // Get config from trigger's data attributes + const config = Manipulator.getDataAttributes(this); + + // Check if trigger is inside an open dialog + const currentDialog = this.closest('dialog[open]'); + const shouldSwap = currentDialog && currentDialog !== target; + if (shouldSwap) { + // Open new dialog first (its backdrop appears over current) + const newDialog = Dialog.getOrCreateInstance(target, config); + newDialog.show(this); + + // Close the current dialog (no backdrop flash since new one is already open) + const currentInstance = Dialog.getInstance(currentDialog); + if (currentInstance) { + currentInstance.hide(); } - const data = Dialog.getOrCreateInstance(target, config); - data.toggle(this); - }); - enableDismissTrigger(Dialog); - - /** - * Custom positioning reference element. - * @see https://floating-ui.com/docs/virtual-elements - */ - - const min = Math.min; - const max = Math.max; - const round = Math.round; - const floor = Math.floor; - const createCoords = v => ({ - x: v, - y: v - }); - const oppositeSideMap = { - left: 'right', - right: 'left', - bottom: 'top', - top: 'bottom' - }; - const oppositeAlignmentMap = { - start: 'end', - end: 'start' - }; - function clamp(start, value, end) { - return max(start, min(value, end)); - } - function evaluate(value, param) { - return typeof value === 'function' ? value(param) : value; - } - function getSide(placement) { - return placement.split('-')[0]; - } - function getAlignment(placement) { - return placement.split('-')[1]; - } - function getOppositeAxis(axis) { - return axis === 'x' ? 'y' : 'x'; - } - function getAxisLength(axis) { - return axis === 'y' ? 'height' : 'width'; - } - const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']); - function getSideAxis(placement) { - return yAxisSides.has(getSide(placement)) ? 'y' : 'x'; - } - function getAlignmentAxis(placement) { - return getOppositeAxis(getSideAxis(placement)); - } - function getAlignmentSides(placement, rects, rtl) { - if (rtl === void 0) { - rtl = false; - } - const alignment = getAlignment(placement); - const alignmentAxis = getAlignmentAxis(placement); - const length = getAxisLength(alignmentAxis); - let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top'; - if (rects.reference[length] > rects.floating[length]) { - mainAlignmentSide = getOppositePlacement(mainAlignmentSide); - } - return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)]; - } - function getExpandedPlacements(placement) { - const oppositePlacement = getOppositePlacement(placement); - return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)]; - } - function getOppositeAlignmentPlacement(placement) { - return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]); - } - const lrPlacement = ['left', 'right']; - const rlPlacement = ['right', 'left']; - const tbPlacement = ['top', 'bottom']; - const btPlacement = ['bottom', 'top']; - function getSideList(side, isStart, rtl) { - switch (side) { - case 'top': - case 'bottom': - if (rtl) return isStart ? rlPlacement : lrPlacement; - return isStart ? lrPlacement : rlPlacement; - case 'left': - case 'right': - return isStart ? tbPlacement : btPlacement; - default: - return []; - } - } - function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) { - const alignment = getAlignment(placement); - let list = getSideList(getSide(placement), direction === 'start', rtl); - if (alignment) { - list = list.map(side => side + "-" + alignment); - if (flipAlignment) { - list = list.concat(list.map(getOppositeAlignmentPlacement)); - } - } - return list; + return; } - function getOppositePlacement(placement) { - return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]); + const data = Dialog.getOrCreateInstance(target, config); + data.toggle(this); +}); +enableDismissTrigger(Dialog); + +/** + * Custom positioning reference element. + * @see https://floating-ui.com/docs/virtual-elements + */ + +const min = Math.min; +const max = Math.max; +const round = Math.round; +const floor = Math.floor; +const createCoords = v => ({ + x: v, + y: v +}); +const oppositeSideMap = { + left: 'right', + right: 'left', + bottom: 'top', + top: 'bottom' +}; +const oppositeAlignmentMap = { + start: 'end', + end: 'start' +}; +function clamp(start, value, end) { + return max(start, min(value, end)); +} +function evaluate(value, param) { + return typeof value === 'function' ? value(param) : value; +} +function getSide(placement) { + return placement.split('-')[0]; +} +function getAlignment(placement) { + return placement.split('-')[1]; +} +function getOppositeAxis(axis) { + return axis === 'x' ? 'y' : 'x'; +} +function getAxisLength(axis) { + return axis === 'y' ? 'height' : 'width'; +} +const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']); +function getSideAxis(placement) { + return yAxisSides.has(getSide(placement)) ? 'y' : 'x'; +} +function getAlignmentAxis(placement) { + return getOppositeAxis(getSideAxis(placement)); +} +function getAlignmentSides(placement, rects, rtl) { + if (rtl === void 0) { + rtl = false; } - function expandPaddingObject(padding) { - return { - top: 0, - right: 0, - bottom: 0, - left: 0, - ...padding - }; + const alignment = getAlignment(placement); + const alignmentAxis = getAlignmentAxis(placement); + const length = getAxisLength(alignmentAxis); + let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top'; + if (rects.reference[length] > rects.floating[length]) { + mainAlignmentSide = getOppositePlacement(mainAlignmentSide); } - function getPaddingObject(padding) { - return typeof padding !== 'number' ? expandPaddingObject(padding) : { - top: padding, - right: padding, - bottom: padding, - left: padding - }; + return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)]; +} +function getExpandedPlacements(placement) { + const oppositePlacement = getOppositePlacement(placement); + return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)]; +} +function getOppositeAlignmentPlacement(placement) { + return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]); +} +const lrPlacement = ['left', 'right']; +const rlPlacement = ['right', 'left']; +const tbPlacement = ['top', 'bottom']; +const btPlacement = ['bottom', 'top']; +function getSideList(side, isStart, rtl) { + switch (side) { + case 'top': + case 'bottom': + if (rtl) return isStart ? rlPlacement : lrPlacement; + return isStart ? lrPlacement : rlPlacement; + case 'left': + case 'right': + return isStart ? tbPlacement : btPlacement; + default: + return []; + } +} +function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) { + const alignment = getAlignment(placement); + let list = getSideList(getSide(placement), direction === 'start', rtl); + if (alignment) { + list = list.map(side => side + "-" + alignment); + if (flipAlignment) { + list = list.concat(list.map(getOppositeAlignmentPlacement)); + } + } + return list; +} +function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]); +} +function expandPaddingObject(padding) { + return { + top: 0, + right: 0, + bottom: 0, + left: 0, + ...padding + }; +} +function getPaddingObject(padding) { + return typeof padding !== 'number' ? expandPaddingObject(padding) : { + top: padding, + right: padding, + bottom: padding, + left: padding + }; +} +function rectToClientRect(rect) { + const { + x, + y, + width, + height + } = rect; + return { + width, + height, + top: y, + left: x, + right: x + width, + bottom: y + height, + x, + y + }; +} + +function computeCoordsFromPlacement(_ref, placement, rtl) { + let { + reference, + floating + } = _ref; + const sideAxis = getSideAxis(placement); + const alignmentAxis = getAlignmentAxis(placement); + const alignLength = getAxisLength(alignmentAxis); + const side = getSide(placement); + const isVertical = sideAxis === 'y'; + const commonX = reference.x + reference.width / 2 - floating.width / 2; + const commonY = reference.y + reference.height / 2 - floating.height / 2; + const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2; + let coords; + switch (side) { + case 'top': + coords = { + x: commonX, + y: reference.y - floating.height + }; + break; + case 'bottom': + coords = { + x: commonX, + y: reference.y + reference.height + }; + break; + case 'right': + coords = { + x: reference.x + reference.width, + y: commonY + }; + break; + case 'left': + coords = { + x: reference.x - floating.width, + y: commonY + }; + break; + default: + coords = { + x: reference.x, + y: reference.y + }; + } + switch (getAlignment(placement)) { + case 'start': + coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1); + break; + case 'end': + coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1); + break; } - function rectToClientRect(rect) { + return coords; +} + +/** + * Computes the `x` and `y` coordinates that will place the floating element + * next to a given reference element. + * + * This export does not have any `platform` interface logic. You will need to + * write one for the platform you are using Floating UI with. + */ +const computePosition$1 = async (reference, floating, config) => { + const { + placement = 'bottom', + strategy = 'absolute', + middleware = [], + platform + } = config; + const validMiddleware = middleware.filter(Boolean); + const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating)); + let rects = await platform.getElementRects({ + reference, + floating, + strategy + }); + let { + x, + y + } = computeCoordsFromPlacement(rects, placement, rtl); + let statefulPlacement = placement; + let middlewareData = {}; + let resetCount = 0; + for (let i = 0; i < validMiddleware.length; i++) { + const { + name, + fn + } = validMiddleware[i]; const { + x: nextX, + y: nextY, + data, + reset + } = await fn({ x, y, - width, - height - } = rect; - return { - width, - height, - top: y, - left: x, - right: x + width, - bottom: y + height, - x, - y - }; - } - - function computeCoordsFromPlacement(_ref, placement, rtl) { - let { - reference, - floating - } = _ref; - const sideAxis = getSideAxis(placement); - const alignmentAxis = getAlignmentAxis(placement); - const alignLength = getAxisLength(alignmentAxis); - const side = getSide(placement); - const isVertical = sideAxis === 'y'; - const commonX = reference.x + reference.width / 2 - floating.width / 2; - const commonY = reference.y + reference.height / 2 - floating.height / 2; - const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2; - let coords; - switch (side) { - case 'top': - coords = { - x: commonX, - y: reference.y - floating.height - }; - break; - case 'bottom': - coords = { - x: commonX, - y: reference.y + reference.height - }; - break; - case 'right': - coords = { - x: reference.x + reference.width, - y: commonY - }; - break; - case 'left': - coords = { - x: reference.x - floating.width, - y: commonY - }; - break; - default: - coords = { - x: reference.x, - y: reference.y - }; - } - switch (getAlignment(placement)) { - case 'start': - coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1); - break; - case 'end': - coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1); - break; - } - return coords; - } - - /** - * Computes the `x` and `y` coordinates that will place the floating element - * next to a given reference element. - * - * This export does not have any `platform` interface logic. You will need to - * write one for the platform you are using Floating UI with. - */ - const computePosition$1 = async (reference, floating, config) => { - const { - placement = 'bottom', - strategy = 'absolute', - middleware = [], - platform - } = config; - const validMiddleware = middleware.filter(Boolean); - const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating)); - let rects = await platform.getElementRects({ - reference, - floating, - strategy + initialPlacement: placement, + placement: statefulPlacement, + strategy, + middlewareData, + rects, + platform, + elements: { + reference, + floating + } }); - let { - x, - y - } = computeCoordsFromPlacement(rects, placement, rtl); - let statefulPlacement = placement; - let middlewareData = {}; - let resetCount = 0; - for (let i = 0; i < validMiddleware.length; i++) { - const { - name, - fn - } = validMiddleware[i]; - const { - x: nextX, - y: nextY, - data, - reset - } = await fn({ - x, - y, - initialPlacement: placement, - placement: statefulPlacement, - strategy, - middlewareData, - rects, - platform, - elements: { - reference, - floating - } - }); - x = nextX != null ? nextX : x; - y = nextY != null ? nextY : y; - middlewareData = { - ...middlewareData, - [name]: { - ...middlewareData[name], - ...data + x = nextX != null ? nextX : x; + y = nextY != null ? nextY : y; + middlewareData = { + ...middlewareData, + [name]: { + ...middlewareData[name], + ...data + } + }; + if (reset && resetCount <= 50) { + resetCount++; + if (typeof reset === 'object') { + if (reset.placement) { + statefulPlacement = reset.placement; } - }; - if (reset && resetCount <= 50) { - resetCount++; - if (typeof reset === 'object') { - if (reset.placement) { - statefulPlacement = reset.placement; - } - if (reset.rects) { - rects = reset.rects === true ? await platform.getElementRects({ - reference, - floating, - strategy - }) : reset.rects; - } - ({ - x, - y - } = computeCoordsFromPlacement(rects, statefulPlacement, rtl)); + if (reset.rects) { + rects = reset.rects === true ? await platform.getElementRects({ + reference, + floating, + strategy + }) : reset.rects; } - i = -1; + ({ + x, + y + } = computeCoordsFromPlacement(rects, statefulPlacement, rtl)); } + i = -1; } - return { - x, - y, - placement: statefulPlacement, - strategy, - middlewareData - }; + } + return { + x, + y, + placement: statefulPlacement, + strategy, + middlewareData }; - - /** - * Resolves with an object of overflow side offsets that determine how much the - * element is overflowing a given clipping boundary on each side. - * - positive = overflowing the boundary by that number of pixels - * - negative = how many pixels left before it will overflow - * - 0 = lies flush with the boundary - * @see https://floating-ui.com/docs/detectOverflow - */ - async function detectOverflow(state, options) { - var _await$platform$isEle; - if (options === void 0) { - options = {}; - } +}; + +/** + * Resolves with an object of overflow side offsets that determine how much the + * element is overflowing a given clipping boundary on each side. + * - positive = overflowing the boundary by that number of pixels + * - negative = how many pixels left before it will overflow + * - 0 = lies flush with the boundary + * @see https://floating-ui.com/docs/detectOverflow + */ +async function detectOverflow(state, options) { + var _await$platform$isEle; + if (options === void 0) { + options = {}; + } + const { + x, + y, + platform, + rects, + elements, + strategy + } = state; + const { + boundary = 'clippingAncestors', + rootBoundary = 'viewport', + elementContext = 'floating', + altBoundary = false, + padding = 0 + } = evaluate(options, state); + const paddingObject = getPaddingObject(padding); + const altContext = elementContext === 'floating' ? 'reference' : 'floating'; + const element = elements[altBoundary ? altContext : elementContext]; + const clippingClientRect = rectToClientRect(await platform.getClippingRect({ + element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))), + boundary, + rootBoundary, + strategy + })); + const rect = elementContext === 'floating' ? { + x, + y, + width: rects.floating.width, + height: rects.floating.height + } : rects.reference; + const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating)); + const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || { + x: 1, + y: 1 + } : { + x: 1, + y: 1 + }; + const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({ + elements, + rect, + offsetParent, + strategy + }) : rect); + return { + top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, + bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, + left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, + right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x + }; +} + +/** + * Provides data to position an inner element of the floating element so that it + * appears centered to the reference element. + * @see https://floating-ui.com/docs/arrow + */ +const arrow$1 = options => ({ + name: 'arrow', + options, + async fn(state) { const { x, y, - platform, + placement, rects, + platform, elements, - strategy + middlewareData } = state; + // Since `element` is required, we don't Partial<> the type. const { - boundary = 'clippingAncestors', - rootBoundary = 'viewport', - elementContext = 'floating', - altBoundary = false, + element, padding = 0 - } = evaluate(options, state); + } = evaluate(options, state) || {}; + if (element == null) { + return {}; + } const paddingObject = getPaddingObject(padding); - const altContext = elementContext === 'floating' ? 'reference' : 'floating'; - const element = elements[altBoundary ? altContext : elementContext]; - const clippingClientRect = rectToClientRect(await platform.getClippingRect({ - element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))), - boundary, - rootBoundary, - strategy - })); - const rect = elementContext === 'floating' ? { + const coords = { x, - y, - width: rects.floating.width, - height: rects.floating.height - } : rects.reference; - const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating)); - const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || { - x: 1, - y: 1 - } : { - x: 1, - y: 1 + y }; - const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({ - elements, - rect, - offsetParent, - strategy - }) : rect); + const axis = getAlignmentAxis(placement); + const length = getAxisLength(axis); + const arrowDimensions = await platform.getDimensions(element); + const isYAxis = axis === 'y'; + const minProp = isYAxis ? 'top' : 'left'; + const maxProp = isYAxis ? 'bottom' : 'right'; + const clientProp = isYAxis ? 'clientHeight' : 'clientWidth'; + const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length]; + const startDiff = coords[axis] - rects.reference[axis]; + const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element)); + let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0; + + // DOM platform can return `window` as the `offsetParent`. + if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) { + clientSize = elements.floating[clientProp] || rects.floating[length]; + } + const centerToReference = endDiff / 2 - startDiff / 2; + + // If the padding is large enough that it causes the arrow to no longer be + // centered, modify the padding so that it is centered. + const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1; + const minPadding = min(paddingObject[minProp], largestPossiblePadding); + const maxPadding = min(paddingObject[maxProp], largestPossiblePadding); + + // Make sure the arrow doesn't overflow the floating element if the center + // point is outside the floating element's bounds. + const min$1 = minPadding; + const max = clientSize - arrowDimensions[length] - maxPadding; + const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; + const offset = clamp(min$1, center, max); + + // If the reference is small enough that the arrow's padding causes it to + // to point to nothing for an aligned placement, adjust the offset of the + // floating element itself. To ensure `shift()` continues to take action, + // a single reset is performed when this is true. + const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0; + const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0; return { - top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, - bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, - left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, - right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x + [axis]: coords[axis] + alignmentOffset, + data: { + [axis]: offset, + centerOffset: center - offset - alignmentOffset, + ...(shouldAddOffset && { + alignmentOffset + }) + }, + reset: shouldAddOffset }; } - - /** - * Provides data to position an inner element of the floating element so that it - * appears centered to the reference element. - * @see https://floating-ui.com/docs/arrow - */ - const arrow$1 = options => ({ - name: 'arrow', +}); + +/** + * Optimizes the visibility of the floating element by flipping the `placement` + * in order to keep it in view when the preferred placement(s) will overflow the + * clipping boundary. Alternative to `autoPlacement`. + * @see https://floating-ui.com/docs/flip + */ +const flip$1 = function (options) { + if (options === void 0) { + options = {}; + } + return { + name: 'flip', options, async fn(state) { + var _middlewareData$arrow, _middlewareData$flip; const { - x, - y, placement, + middlewareData, rects, + initialPlacement, platform, - elements, - middlewareData + elements } = state; - // Since `element` is required, we don't Partial<> the type. const { - element, - padding = 0 - } = evaluate(options, state) || {}; - if (element == null) { + mainAxis: checkMainAxis = true, + crossAxis: checkCrossAxis = true, + fallbackPlacements: specifiedFallbackPlacements, + fallbackStrategy = 'bestFit', + fallbackAxisSideDirection = 'none', + flipAlignment = true, + ...detectOverflowOptions + } = evaluate(options, state); + + // If a reset by the arrow was caused due to an alignment offset being + // added, we should skip any logic now since `flip()` has already done its + // work. + // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643 + if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } - const paddingObject = getPaddingObject(padding); - const coords = { - x, - y - }; - const axis = getAlignmentAxis(placement); - const length = getAxisLength(axis); - const arrowDimensions = await platform.getDimensions(element); - const isYAxis = axis === 'y'; - const minProp = isYAxis ? 'top' : 'left'; - const maxProp = isYAxis ? 'bottom' : 'right'; - const clientProp = isYAxis ? 'clientHeight' : 'clientWidth'; - const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length]; - const startDiff = coords[axis] - rects.reference[axis]; - const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element)); - let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0; - - // DOM platform can return `window` as the `offsetParent`. - if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) { - clientSize = elements.floating[clientProp] || rects.floating[length]; - } - const centerToReference = endDiff / 2 - startDiff / 2; - - // If the padding is large enough that it causes the arrow to no longer be - // centered, modify the padding so that it is centered. - const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1; - const minPadding = min(paddingObject[minProp], largestPossiblePadding); - const maxPadding = min(paddingObject[maxProp], largestPossiblePadding); - - // Make sure the arrow doesn't overflow the floating element if the center - // point is outside the floating element's bounds. - const min$1 = minPadding; - const max = clientSize - arrowDimensions[length] - maxPadding; - const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; - const offset = clamp(min$1, center, max); - - // If the reference is small enough that the arrow's padding causes it to - // to point to nothing for an aligned placement, adjust the offset of the - // floating element itself. To ensure `shift()` continues to take action, - // a single reset is performed when this is true. - const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0; - const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0; - return { - [axis]: coords[axis] + alignmentOffset, - data: { - [axis]: offset, - centerOffset: center - offset - alignmentOffset, - ...(shouldAddOffset && { - alignmentOffset - }) - }, - reset: shouldAddOffset - }; - } - }); - - /** - * Optimizes the visibility of the floating element by flipping the `placement` - * in order to keep it in view when the preferred placement(s) will overflow the - * clipping boundary. Alternative to `autoPlacement`. - * @see https://floating-ui.com/docs/flip - */ - const flip$1 = function (options) { - if (options === void 0) { - options = {}; - } - return { - name: 'flip', - options, - async fn(state) { - var _middlewareData$arrow, _middlewareData$flip; - const { - placement, - middlewareData, - rects, - initialPlacement, - platform, - elements - } = state; - const { - mainAxis: checkMainAxis = true, - crossAxis: checkCrossAxis = true, - fallbackPlacements: specifiedFallbackPlacements, - fallbackStrategy = 'bestFit', - fallbackAxisSideDirection = 'none', - flipAlignment = true, - ...detectOverflowOptions - } = evaluate(options, state); - - // If a reset by the arrow was caused due to an alignment offset being - // added, we should skip any logic now since `flip()` has already done its - // work. - // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643 - if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { - return {}; - } - const side = getSide(placement); - const initialSideAxis = getSideAxis(initialPlacement); - const isBasePlacement = getSide(initialPlacement) === initialPlacement; - const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)); - const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement)); - const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none'; - if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) { - fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl)); - } - const placements = [initialPlacement, ...fallbackPlacements]; - const overflow = await detectOverflow(state, detectOverflowOptions); - const overflows = []; - let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || []; - if (checkMainAxis) { - overflows.push(overflow[side]); - } - if (checkCrossAxis) { - const sides = getAlignmentSides(placement, rects, rtl); - overflows.push(overflow[sides[0]], overflow[sides[1]]); - } - overflowsData = [...overflowsData, { - placement, - overflows - }]; - - // One or more sides is overflowing. - if (!overflows.every(side => side <= 0)) { - var _middlewareData$flip2, _overflowsData$filter; - const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1; - const nextPlacement = placements[nextIndex]; - if (nextPlacement) { - const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false; - if (!ignoreCrossAxisOverflow || - // We leave the current main axis only if every placement on that axis - // overflows the main axis. - overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) { - // Try next placement and re-run the lifecycle. - return { - data: { - index: nextIndex, - overflows: overflowsData - }, - reset: { - placement: nextPlacement - } - }; - } + const side = getSide(placement); + const initialSideAxis = getSideAxis(initialPlacement); + const isBasePlacement = getSide(initialPlacement) === initialPlacement; + const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)); + const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement)); + const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none'; + if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) { + fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl)); + } + const placements = [initialPlacement, ...fallbackPlacements]; + const overflow = await detectOverflow(state, detectOverflowOptions); + const overflows = []; + let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || []; + if (checkMainAxis) { + overflows.push(overflow[side]); + } + if (checkCrossAxis) { + const sides = getAlignmentSides(placement, rects, rtl); + overflows.push(overflow[sides[0]], overflow[sides[1]]); + } + overflowsData = [...overflowsData, { + placement, + overflows + }]; + + // One or more sides is overflowing. + if (!overflows.every(side => side <= 0)) { + var _middlewareData$flip2, _overflowsData$filter; + const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1; + const nextPlacement = placements[nextIndex]; + if (nextPlacement) { + const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false; + if (!ignoreCrossAxisOverflow || + // We leave the current main axis only if every placement on that axis + // overflows the main axis. + overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) { + // Try next placement and re-run the lifecycle. + return { + data: { + index: nextIndex, + overflows: overflowsData + }, + reset: { + placement: nextPlacement + } + }; } + } - // First, find the candidates that fit on the mainAxis side of overflow, - // then find the placement that fits the best on the main crossAxis side. - let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement; - - // Otherwise fallback. - if (!resetPlacement) { - switch (fallbackStrategy) { - case 'bestFit': - { - var _overflowsData$filter2; - const placement = (_overflowsData$filter2 = overflowsData.filter(d => { - if (hasFallbackAxisSideDirection) { - const currentSideAxis = getSideAxis(d.placement); - return currentSideAxis === initialSideAxis || - // Create a bias to the `y` side axis due to horizontal - // reading directions favoring greater width. - currentSideAxis === 'y'; - } - return true; - }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0]; - if (placement) { - resetPlacement = placement; + // First, find the candidates that fit on the mainAxis side of overflow, + // then find the placement that fits the best on the main crossAxis side. + let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement; + + // Otherwise fallback. + if (!resetPlacement) { + switch (fallbackStrategy) { + case 'bestFit': + { + var _overflowsData$filter2; + const placement = (_overflowsData$filter2 = overflowsData.filter(d => { + if (hasFallbackAxisSideDirection) { + const currentSideAxis = getSideAxis(d.placement); + return currentSideAxis === initialSideAxis || + // Create a bias to the `y` side axis due to horizontal + // reading directions favoring greater width. + currentSideAxis === 'y'; } - break; + return true; + }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0]; + if (placement) { + resetPlacement = placement; } - case 'initialPlacement': - resetPlacement = initialPlacement; break; - } - } - if (placement !== resetPlacement) { - return { - reset: { - placement: resetPlacement } - }; + case 'initialPlacement': + resetPlacement = initialPlacement; + break; } } - return {}; + if (placement !== resetPlacement) { + return { + reset: { + placement: resetPlacement + } + }; + } } - }; + return {}; + } }; - - const originSides = /*#__PURE__*/new Set(['left', 'top']); - - // For type backwards-compatibility, the `OffsetOptions` type was also - // Derivable. - - async function convertValueToCoords(state, options) { - const { - placement, - platform, - elements - } = state; - const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)); - const side = getSide(placement); - const alignment = getAlignment(placement); - const isVertical = getSideAxis(placement) === 'y'; - const mainAxisMulti = originSides.has(side) ? -1 : 1; - const crossAxisMulti = rtl && isVertical ? -1 : 1; - const rawValue = evaluate(options, state); - - // eslint-disable-next-line prefer-const - let { - mainAxis, - crossAxis, - alignmentAxis - } = typeof rawValue === 'number' ? { - mainAxis: rawValue, - crossAxis: 0, - alignmentAxis: null - } : { - mainAxis: rawValue.mainAxis || 0, - crossAxis: rawValue.crossAxis || 0, - alignmentAxis: rawValue.alignmentAxis - }; - if (alignment && typeof alignmentAxis === 'number') { - crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis; - } - return isVertical ? { - x: crossAxis * crossAxisMulti, - y: mainAxis * mainAxisMulti - } : { - x: mainAxis * mainAxisMulti, - y: crossAxis * crossAxisMulti - }; +}; + +const originSides = /*#__PURE__*/new Set(['left', 'top']); + +// For type backwards-compatibility, the `OffsetOptions` type was also +// Derivable. + +async function convertValueToCoords(state, options) { + const { + placement, + platform, + elements + } = state; + const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)); + const side = getSide(placement); + const alignment = getAlignment(placement); + const isVertical = getSideAxis(placement) === 'y'; + const mainAxisMulti = originSides.has(side) ? -1 : 1; + const crossAxisMulti = rtl && isVertical ? -1 : 1; + const rawValue = evaluate(options, state); + + // eslint-disable-next-line prefer-const + let { + mainAxis, + crossAxis, + alignmentAxis + } = typeof rawValue === 'number' ? { + mainAxis: rawValue, + crossAxis: 0, + alignmentAxis: null + } : { + mainAxis: rawValue.mainAxis || 0, + crossAxis: rawValue.crossAxis || 0, + alignmentAxis: rawValue.alignmentAxis + }; + if (alignment && typeof alignmentAxis === 'number') { + crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis; } - - /** - * Modifies the placement by translating the floating element along the - * specified axes. - * A number (shorthand for `mainAxis` or distance), or an axes configuration - * object may be passed. - * @see https://floating-ui.com/docs/offset - */ - const offset$1 = function (options) { - if (options === void 0) { - options = 0; - } - return { - name: 'offset', - options, - async fn(state) { - var _middlewareData$offse, _middlewareData$arrow; - const { - x, - y, - placement, - middlewareData - } = state; - const diffCoords = await convertValueToCoords(state, options); - - // If the placement is the same and the arrow caused an alignment offset - // then we don't need to change the positioning coordinates. - if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { - return {}; - } - return { - x: x + diffCoords.x, - y: y + diffCoords.y, - data: { - ...diffCoords, - placement - } - }; - } - }; + return isVertical ? { + x: crossAxis * crossAxisMulti, + y: mainAxis * mainAxisMulti + } : { + x: mainAxis * mainAxisMulti, + y: crossAxis * crossAxisMulti }; +} + +/** + * Modifies the placement by translating the floating element along the + * specified axes. + * A number (shorthand for `mainAxis` or distance), or an axes configuration + * object may be passed. + * @see https://floating-ui.com/docs/offset + */ +const offset$1 = function (options) { + if (options === void 0) { + options = 0; + } + return { + name: 'offset', + options, + async fn(state) { + var _middlewareData$offse, _middlewareData$arrow; + const { + x, + y, + placement, + middlewareData + } = state; + const diffCoords = await convertValueToCoords(state, options); - /** - * Optimizes the visibility of the floating element by shifting it in order to - * keep it in view when it will overflow the clipping boundary. - * @see https://floating-ui.com/docs/shift - */ - const shift$1 = function (options) { - if (options === void 0) { - options = {}; - } - return { - name: 'shift', - options, - async fn(state) { - const { - x, - y, + // If the placement is the same and the arrow caused an alignment offset + // then we don't need to change the positioning coordinates. + if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { + return {}; + } + return { + x: x + diffCoords.x, + y: y + diffCoords.y, + data: { + ...diffCoords, placement - } = state; - const { - mainAxis: checkMainAxis = true, - crossAxis: checkCrossAxis = false, - limiter = { - fn: _ref => { - let { - x, - y - } = _ref; - return { - x, - y - }; - } - }, - ...detectOverflowOptions - } = evaluate(options, state); - const coords = { - x, - y - }; - const overflow = await detectOverflow(state, detectOverflowOptions); - const crossAxis = getSideAxis(getSide(placement)); - const mainAxis = getOppositeAxis(crossAxis); - let mainAxisCoord = coords[mainAxis]; - let crossAxisCoord = coords[crossAxis]; - if (checkMainAxis) { - const minSide = mainAxis === 'y' ? 'top' : 'left'; - const maxSide = mainAxis === 'y' ? 'bottom' : 'right'; - const min = mainAxisCoord + overflow[minSide]; - const max = mainAxisCoord - overflow[maxSide]; - mainAxisCoord = clamp(min, mainAxisCoord, max); - } - if (checkCrossAxis) { - const minSide = crossAxis === 'y' ? 'top' : 'left'; - const maxSide = crossAxis === 'y' ? 'bottom' : 'right'; - const min = crossAxisCoord + overflow[minSide]; - const max = crossAxisCoord - overflow[maxSide]; - crossAxisCoord = clamp(min, crossAxisCoord, max); } - const limitedCoords = limiter.fn({ - ...state, - [mainAxis]: mainAxisCoord, - [crossAxis]: crossAxisCoord - }); - return { - ...limitedCoords, - data: { - x: limitedCoords.x - x, - y: limitedCoords.y - y, - enabled: { - [mainAxis]: checkMainAxis, - [crossAxis]: checkCrossAxis - } - } - }; - } - }; + }; + } }; - - function hasWindow() { - return typeof window !== 'undefined'; +}; + +/** + * Optimizes the visibility of the floating element by shifting it in order to + * keep it in view when it will overflow the clipping boundary. + * @see https://floating-ui.com/docs/shift + */ +const shift$1 = function (options) { + if (options === void 0) { + options = {}; } - function getNodeName(node) { - if (isNode(node)) { - return (node.nodeName || '').toLowerCase(); + return { + name: 'shift', + options, + async fn(state) { + const { + x, + y, + placement + } = state; + const { + mainAxis: checkMainAxis = true, + crossAxis: checkCrossAxis = false, + limiter = { + fn: _ref => { + let { + x, + y + } = _ref; + return { + x, + y + }; + } + }, + ...detectOverflowOptions + } = evaluate(options, state); + const coords = { + x, + y + }; + const overflow = await detectOverflow(state, detectOverflowOptions); + const crossAxis = getSideAxis(getSide(placement)); + const mainAxis = getOppositeAxis(crossAxis); + let mainAxisCoord = coords[mainAxis]; + let crossAxisCoord = coords[crossAxis]; + if (checkMainAxis) { + const minSide = mainAxis === 'y' ? 'top' : 'left'; + const maxSide = mainAxis === 'y' ? 'bottom' : 'right'; + const min = mainAxisCoord + overflow[minSide]; + const max = mainAxisCoord - overflow[maxSide]; + mainAxisCoord = clamp(min, mainAxisCoord, max); + } + if (checkCrossAxis) { + const minSide = crossAxis === 'y' ? 'top' : 'left'; + const maxSide = crossAxis === 'y' ? 'bottom' : 'right'; + const min = crossAxisCoord + overflow[minSide]; + const max = crossAxisCoord - overflow[maxSide]; + crossAxisCoord = clamp(min, crossAxisCoord, max); + } + const limitedCoords = limiter.fn({ + ...state, + [mainAxis]: mainAxisCoord, + [crossAxis]: crossAxisCoord + }); + return { + ...limitedCoords, + data: { + x: limitedCoords.x - x, + y: limitedCoords.y - y, + enabled: { + [mainAxis]: checkMainAxis, + [crossAxis]: checkCrossAxis + } + } + }; } - // Mocked nodes in testing environments may not be instances of Node. By - // returning `#document` an infinite loop won't occur. - // https://github.com/floating-ui/floating-ui/issues/2317 - return '#document'; + }; +}; + +function hasWindow() { + return typeof window !== 'undefined'; +} +function getNodeName(node) { + if (isNode(node)) { + return (node.nodeName || '').toLowerCase(); } - function getWindow(node) { - var _node$ownerDocument; - return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; + // Mocked nodes in testing environments may not be instances of Node. By + // returning `#document` an infinite loop won't occur. + // https://github.com/floating-ui/floating-ui/issues/2317 + return '#document'; +} +function getWindow(node) { + var _node$ownerDocument; + return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; +} +function getDocumentElement(node) { + var _ref; + return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement; +} +function isNode(value) { + if (!hasWindow()) { + return false; } - function getDocumentElement(node) { - var _ref; - return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement; + return value instanceof Node || value instanceof getWindow(value).Node; +} +function isElement(value) { + if (!hasWindow()) { + return false; } - function isNode(value) { - if (!hasWindow()) { - return false; - } - return value instanceof Node || value instanceof getWindow(value).Node; + return value instanceof Element || value instanceof getWindow(value).Element; +} +function isHTMLElement(value) { + if (!hasWindow()) { + return false; } - function isElement(value) { - if (!hasWindow()) { - return false; - } - return value instanceof Element || value instanceof getWindow(value).Element; + return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement; +} +function isShadowRoot(value) { + if (!hasWindow() || typeof ShadowRoot === 'undefined') { + return false; } - function isHTMLElement(value) { - if (!hasWindow()) { + return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot; +} +const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']); +function isOverflowElement(element) { + const { + overflow, + overflowX, + overflowY, + display + } = getComputedStyle$1(element); + return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display); +} +const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']); +function isTableElement(element) { + return tableElements.has(getNodeName(element)); +} +const topLayerSelectors = [':popover-open', ':modal']; +function isTopLayer(element) { + return topLayerSelectors.some(selector => { + try { + return element.matches(selector); + } catch (_e) { return false; } - return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement; - } - function isShadowRoot(value) { - if (!hasWindow() || typeof ShadowRoot === 'undefined') { - return false; + }); +} +const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective']; +const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter']; +const containValues = ['paint', 'layout', 'strict', 'content']; +function isContainingBlock(elementOrCss) { + const webkit = isWebKit(); + const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss; + + // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block + // https://drafts.csswg.org/css-transforms-2/#individual-transforms + return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value)); +} +function getContainingBlock(element) { + let currentNode = getParentNode(element); + while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { + if (isContainingBlock(currentNode)) { + return currentNode; + } else if (isTopLayer(currentNode)) { + return null; } - return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot; + currentNode = getParentNode(currentNode); } - const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']); - function isOverflowElement(element) { - const { - overflow, - overflowX, - overflowY, - display - } = getComputedStyle$1(element); - return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display); - } - const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']); - function isTableElement(element) { - return tableElements.has(getNodeName(element)); - } - const topLayerSelectors = [':popover-open', ':modal']; - function isTopLayer(element) { - return topLayerSelectors.some(selector => { - try { - return element.matches(selector); - } catch (_e) { - return false; - } - }); + return null; +} +function isWebKit() { + if (typeof CSS === 'undefined' || !CSS.supports) return false; + return CSS.supports('-webkit-backdrop-filter', 'none'); +} +const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']); +function isLastTraversableNode(node) { + return lastTraversableNodeNames.has(getNodeName(node)); +} +function getComputedStyle$1(element) { + return getWindow(element).getComputedStyle(element); +} +function getNodeScroll(element) { + if (isElement(element)) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; } - const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective']; - const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter']; - const containValues = ['paint', 'layout', 'strict', 'content']; - function isContainingBlock(elementOrCss) { - const webkit = isWebKit(); - const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss; - - // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block - // https://drafts.csswg.org/css-transforms-2/#individual-transforms - return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value)); - } - function getContainingBlock(element) { - let currentNode = getParentNode(element); - while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { - if (isContainingBlock(currentNode)) { - return currentNode; - } else if (isTopLayer(currentNode)) { - return null; - } - currentNode = getParentNode(currentNode); - } - return null; + return { + scrollLeft: element.scrollX, + scrollTop: element.scrollY + }; +} +function getParentNode(node) { + if (getNodeName(node) === 'html') { + return node; } - function isWebKit() { - if (typeof CSS === 'undefined' || !CSS.supports) return false; - return CSS.supports('-webkit-backdrop-filter', 'none'); + const result = + // Step into the shadow DOM of the parent of a slotted node. + node.assignedSlot || + // DOM Element detected. + node.parentNode || + // ShadowRoot detected. + isShadowRoot(node) && node.host || + // Fallback. + getDocumentElement(node); + return isShadowRoot(result) ? result.host : result; +} +function getNearestOverflowAncestor(node) { + const parentNode = getParentNode(node); + if (isLastTraversableNode(parentNode)) { + return node.ownerDocument ? node.ownerDocument.body : node.body; } - const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']); - function isLastTraversableNode(node) { - return lastTraversableNodeNames.has(getNodeName(node)); + if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) { + return parentNode; } - function getComputedStyle$1(element) { - return getWindow(element).getComputedStyle(element); + return getNearestOverflowAncestor(parentNode); +} +function getOverflowAncestors(node, list, traverseIframes) { + var _node$ownerDocument2; + if (list === void 0) { + list = []; } - function getNodeScroll(element) { - if (isElement(element)) { - return { - scrollLeft: element.scrollLeft, - scrollTop: element.scrollTop - }; - } - return { - scrollLeft: element.scrollX, - scrollTop: element.scrollY - }; + if (traverseIframes === void 0) { + traverseIframes = true; } - function getParentNode(node) { - if (getNodeName(node) === 'html') { - return node; - } - const result = - // Step into the shadow DOM of the parent of a slotted node. - node.assignedSlot || - // DOM Element detected. - node.parentNode || - // ShadowRoot detected. - isShadowRoot(node) && node.host || - // Fallback. - getDocumentElement(node); - return isShadowRoot(result) ? result.host : result; - } - function getNearestOverflowAncestor(node) { - const parentNode = getParentNode(node); - if (isLastTraversableNode(parentNode)) { - return node.ownerDocument ? node.ownerDocument.body : node.body; - } - if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) { - return parentNode; - } - return getNearestOverflowAncestor(parentNode); - } - function getOverflowAncestors(node, list, traverseIframes) { - var _node$ownerDocument2; - if (list === void 0) { - list = []; - } - if (traverseIframes === void 0) { - traverseIframes = true; - } - const scrollableAncestor = getNearestOverflowAncestor(node); - const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body); - const win = getWindow(scrollableAncestor); - if (isBody) { - const frameElement = getFrameElement(win); - return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []); - } - return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes)); - } - function getFrameElement(win) { - return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null; - } - - function getCssDimensions(element) { - const css = getComputedStyle$1(element); - // In testing environments, the `width` and `height` properties are empty - // strings for SVG elements, returning NaN. Fallback to `0` in this case. - let width = parseFloat(css.width) || 0; - let height = parseFloat(css.height) || 0; - const hasOffset = isHTMLElement(element); - const offsetWidth = hasOffset ? element.offsetWidth : width; - const offsetHeight = hasOffset ? element.offsetHeight : height; - const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; - if (shouldFallback) { - width = offsetWidth; - height = offsetHeight; - } - return { - width, - height, - $: shouldFallback - }; + const scrollableAncestor = getNearestOverflowAncestor(node); + const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body); + const win = getWindow(scrollableAncestor); + if (isBody) { + const frameElement = getFrameElement(win); + return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []); } - - function unwrapElement(element) { - return !isElement(element) ? element.contextElement : element; + return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes)); +} +function getFrameElement(win) { + return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null; +} + +function getCssDimensions(element) { + const css = getComputedStyle$1(element); + // In testing environments, the `width` and `height` properties are empty + // strings for SVG elements, returning NaN. Fallback to `0` in this case. + let width = parseFloat(css.width) || 0; + let height = parseFloat(css.height) || 0; + const hasOffset = isHTMLElement(element); + const offsetWidth = hasOffset ? element.offsetWidth : width; + const offsetHeight = hasOffset ? element.offsetHeight : height; + const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; + if (shouldFallback) { + width = offsetWidth; + height = offsetHeight; } + return { + width, + height, + $: shouldFallback + }; +} - function getScale(element) { - const domElement = unwrapElement(element); - if (!isHTMLElement(domElement)) { - return createCoords(1); - } - const rect = domElement.getBoundingClientRect(); - const { - width, - height, - $ - } = getCssDimensions(domElement); - let x = ($ ? round(rect.width) : rect.width) / width; - let y = ($ ? round(rect.height) : rect.height) / height; - - // 0, NaN, or Infinity should always fallback to 1. +function unwrapElement(element) { + return !isElement(element) ? element.contextElement : element; +} - if (!x || !Number.isFinite(x)) { - x = 1; - } - if (!y || !Number.isFinite(y)) { - y = 1; - } - return { - x, - y - }; +function getScale(element) { + const domElement = unwrapElement(element); + if (!isHTMLElement(domElement)) { + return createCoords(1); } - - const noOffsets = /*#__PURE__*/createCoords(0); - function getVisualOffsets(element) { - const win = getWindow(element); - if (!isWebKit() || !win.visualViewport) { - return noOffsets; - } - return { - x: win.visualViewport.offsetLeft, - y: win.visualViewport.offsetTop - }; + const rect = domElement.getBoundingClientRect(); + const { + width, + height, + $ + } = getCssDimensions(domElement); + let x = ($ ? round(rect.width) : rect.width) / width; + let y = ($ ? round(rect.height) : rect.height) / height; + + // 0, NaN, or Infinity should always fallback to 1. + + if (!x || !Number.isFinite(x)) { + x = 1; } - function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) { - if (isFixed === void 0) { - isFixed = false; - } - if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) { - return false; - } - return isFixed; + if (!y || !Number.isFinite(y)) { + y = 1; } + return { + x, + y + }; +} - function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) { - if (includeScale === void 0) { - includeScale = false; - } - if (isFixedStrategy === void 0) { - isFixedStrategy = false; - } - const clientRect = element.getBoundingClientRect(); - const domElement = unwrapElement(element); - let scale = createCoords(1); - if (includeScale) { - if (offsetParent) { - if (isElement(offsetParent)) { - scale = getScale(offsetParent); - } - } else { - scale = getScale(element); - } - } - const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0); - let x = (clientRect.left + visualOffsets.x) / scale.x; - let y = (clientRect.top + visualOffsets.y) / scale.y; - let width = clientRect.width / scale.x; - let height = clientRect.height / scale.y; - if (domElement) { - const win = getWindow(domElement); - const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent; - let currentWin = win; - let currentIFrame = getFrameElement(currentWin); - while (currentIFrame && offsetParent && offsetWin !== currentWin) { - const iframeScale = getScale(currentIFrame); - const iframeRect = currentIFrame.getBoundingClientRect(); - const css = getComputedStyle$1(currentIFrame); - const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x; - const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y; - x *= iframeScale.x; - y *= iframeScale.y; - width *= iframeScale.x; - height *= iframeScale.y; - x += left; - y += top; - currentWin = getWindow(currentIFrame); - currentIFrame = getFrameElement(currentWin); - } - } - return rectToClientRect({ - width, - height, - x, - y - }); +const noOffsets = /*#__PURE__*/createCoords(0); +function getVisualOffsets(element) { + const win = getWindow(element); + if (!isWebKit() || !win.visualViewport) { + return noOffsets; } - - // If has a CSS width greater than the viewport, then this will be - // incorrect for RTL. - function getWindowScrollBarX(element, rect) { - const leftScroll = getNodeScroll(element).scrollLeft; - if (!rect) { - return getBoundingClientRect(getDocumentElement(element)).left + leftScroll; - } - return rect.left + leftScroll; + return { + x: win.visualViewport.offsetLeft, + y: win.visualViewport.offsetTop + }; +} +function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) { + if (isFixed === void 0) { + isFixed = false; } - - function getHTMLOffset(documentElement, scroll) { - const htmlRect = documentElement.getBoundingClientRect(); - const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect); - const y = htmlRect.top + scroll.scrollTop; - return { - x, - y - }; + if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) { + return false; } + return isFixed; +} - function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) { - let { - elements, - rect, - offsetParent, - strategy - } = _ref; - const isFixed = strategy === 'fixed'; - const documentElement = getDocumentElement(offsetParent); - const topLayer = elements ? isTopLayer(elements.floating) : false; - if (offsetParent === documentElement || topLayer && isFixed) { - return rect; - } - let scroll = { - scrollLeft: 0, - scrollTop: 0 - }; - let scale = createCoords(1); - const offsets = createCoords(0); - const isOffsetParentAnElement = isHTMLElement(offsetParent); - if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { - if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) { - scroll = getNodeScroll(offsetParent); - } - if (isHTMLElement(offsetParent)) { - const offsetRect = getBoundingClientRect(offsetParent); +function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) { + if (includeScale === void 0) { + includeScale = false; + } + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + const clientRect = element.getBoundingClientRect(); + const domElement = unwrapElement(element); + let scale = createCoords(1); + if (includeScale) { + if (offsetParent) { + if (isElement(offsetParent)) { scale = getScale(offsetParent); - offsets.x = offsetRect.x + offsetParent.clientLeft; - offsets.y = offsetRect.y + offsetParent.clientTop; } + } else { + scale = getScale(element); } - const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); - return { - width: rect.width * scale.x, - height: rect.height * scale.y, - x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x, - y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y - }; } - - function getClientRects(element) { - return Array.from(element.getClientRects()); - } - - // Gets the entire size of the scrollable document area, even extending outside - // of the `` and `` rect bounds if horizontally scrollable. - function getDocumentRect(element) { - const html = getDocumentElement(element); - const scroll = getNodeScroll(element); - const body = element.ownerDocument.body; - const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth); - const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight); - let x = -scroll.scrollLeft + getWindowScrollBarX(element); - const y = -scroll.scrollTop; - if (getComputedStyle$1(body).direction === 'rtl') { - x += max(html.clientWidth, body.clientWidth) - width; + const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0); + let x = (clientRect.left + visualOffsets.x) / scale.x; + let y = (clientRect.top + visualOffsets.y) / scale.y; + let width = clientRect.width / scale.x; + let height = clientRect.height / scale.y; + if (domElement) { + const win = getWindow(domElement); + const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent; + let currentWin = win; + let currentIFrame = getFrameElement(currentWin); + while (currentIFrame && offsetParent && offsetWin !== currentWin) { + const iframeScale = getScale(currentIFrame); + const iframeRect = currentIFrame.getBoundingClientRect(); + const css = getComputedStyle$1(currentIFrame); + const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x; + const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y; + x *= iframeScale.x; + y *= iframeScale.y; + width *= iframeScale.x; + height *= iframeScale.y; + x += left; + y += top; + currentWin = getWindow(currentIFrame); + currentIFrame = getFrameElement(currentWin); } - return { - width, - height, - x, - y - }; } - - // Safety check: ensure the scrollbar space is reasonable in case this - // calculation is affected by unusual styles. - // Most scrollbars leave 15-18px of space. - const SCROLLBAR_MAX = 25; - function getViewportRect(element, strategy) { - const win = getWindow(element); - const html = getDocumentElement(element); - const visualViewport = win.visualViewport; - let width = html.clientWidth; - let height = html.clientHeight; - let x = 0; - let y = 0; - if (visualViewport) { - width = visualViewport.width; - height = visualViewport.height; - const visualViewportBased = isWebKit(); - if (!visualViewportBased || visualViewportBased && strategy === 'fixed') { - x = visualViewport.offsetLeft; - y = visualViewport.offsetTop; - } + return rectToClientRect({ + width, + height, + x, + y + }); +} + +// If has a CSS width greater than the viewport, then this will be +// incorrect for RTL. +function getWindowScrollBarX(element, rect) { + const leftScroll = getNodeScroll(element).scrollLeft; + if (!rect) { + return getBoundingClientRect(getDocumentElement(element)).left + leftScroll; + } + return rect.left + leftScroll; +} + +function getHTMLOffset(documentElement, scroll) { + const htmlRect = documentElement.getBoundingClientRect(); + const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect); + const y = htmlRect.top + scroll.scrollTop; + return { + x, + y + }; +} + +function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) { + let { + elements, + rect, + offsetParent, + strategy + } = _ref; + const isFixed = strategy === 'fixed'; + const documentElement = getDocumentElement(offsetParent); + const topLayer = elements ? isTopLayer(elements.floating) : false; + if (offsetParent === documentElement || topLayer && isFixed) { + return rect; + } + let scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + let scale = createCoords(1); + const offsets = createCoords(0); + const isOffsetParentAnElement = isHTMLElement(offsetParent); + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isHTMLElement(offsetParent)) { + const offsetRect = getBoundingClientRect(offsetParent); + scale = getScale(offsetParent); + offsets.x = offsetRect.x + offsetParent.clientLeft; + offsets.y = offsetRect.y + offsetParent.clientTop; } - const windowScrollbarX = getWindowScrollBarX(html); - // `overflow: hidden` + `scrollbar-gutter: stable` reduces the - // visual width of the but this is not considered in the size - // of `html.clientWidth`. - if (windowScrollbarX <= 0) { - const doc = html.ownerDocument; - const body = doc.body; - const bodyStyles = getComputedStyle(body); - const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0; - const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline); - if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) { - width -= clippingStableScrollbarWidth; - } - } else if (windowScrollbarX <= SCROLLBAR_MAX) { - // If the scrollbar is on the left, the width needs to be extended - // by the scrollbar amount so there isn't extra space on the right. - width += windowScrollbarX; + } + const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); + return { + width: rect.width * scale.x, + height: rect.height * scale.y, + x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x, + y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y + }; +} + +function getClientRects(element) { + return Array.from(element.getClientRects()); +} + +// Gets the entire size of the scrollable document area, even extending outside +// of the `` and `` rect bounds if horizontally scrollable. +function getDocumentRect(element) { + const html = getDocumentElement(element); + const scroll = getNodeScroll(element); + const body = element.ownerDocument.body; + const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth); + const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight); + let x = -scroll.scrollLeft + getWindowScrollBarX(element); + const y = -scroll.scrollTop; + if (getComputedStyle$1(body).direction === 'rtl') { + x += max(html.clientWidth, body.clientWidth) - width; + } + return { + width, + height, + x, + y + }; +} + +// Safety check: ensure the scrollbar space is reasonable in case this +// calculation is affected by unusual styles. +// Most scrollbars leave 15-18px of space. +const SCROLLBAR_MAX = 25; +function getViewportRect(element, strategy) { + const win = getWindow(element); + const html = getDocumentElement(element); + const visualViewport = win.visualViewport; + let width = html.clientWidth; + let height = html.clientHeight; + let x = 0; + let y = 0; + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + const visualViewportBased = isWebKit(); + if (!visualViewportBased || visualViewportBased && strategy === 'fixed') { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; } - return { - width, - height, - x, - y - }; } - - const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']); - // Returns the inner client rect, subtracting scrollbars if present. - function getInnerBoundingClientRect(element, strategy) { - const clientRect = getBoundingClientRect(element, true, strategy === 'fixed'); - const top = clientRect.top + element.clientTop; - const left = clientRect.left + element.clientLeft; - const scale = isHTMLElement(element) ? getScale(element) : createCoords(1); - const width = element.clientWidth * scale.x; - const height = element.clientHeight * scale.y; - const x = left * scale.x; - const y = top * scale.y; - return { - width, - height, - x, - y + const windowScrollbarX = getWindowScrollBarX(html); + // `overflow: hidden` + `scrollbar-gutter: stable` reduces the + // visual width of the but this is not considered in the size + // of `html.clientWidth`. + if (windowScrollbarX <= 0) { + const doc = html.ownerDocument; + const body = doc.body; + const bodyStyles = getComputedStyle(body); + const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0; + const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline); + if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) { + width -= clippingStableScrollbarWidth; + } + } else if (windowScrollbarX <= SCROLLBAR_MAX) { + // If the scrollbar is on the left, the width needs to be extended + // by the scrollbar amount so there isn't extra space on the right. + width += windowScrollbarX; + } + return { + width, + height, + x, + y + }; +} + +const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']); +// Returns the inner client rect, subtracting scrollbars if present. +function getInnerBoundingClientRect(element, strategy) { + const clientRect = getBoundingClientRect(element, true, strategy === 'fixed'); + const top = clientRect.top + element.clientTop; + const left = clientRect.left + element.clientLeft; + const scale = isHTMLElement(element) ? getScale(element) : createCoords(1); + const width = element.clientWidth * scale.x; + const height = element.clientHeight * scale.y; + const x = left * scale.x; + const y = top * scale.y; + return { + width, + height, + x, + y + }; +} +function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) { + let rect; + if (clippingAncestor === 'viewport') { + rect = getViewportRect(element, strategy); + } else if (clippingAncestor === 'document') { + rect = getDocumentRect(getDocumentElement(element)); + } else if (isElement(clippingAncestor)) { + rect = getInnerBoundingClientRect(clippingAncestor, strategy); + } else { + const visualOffsets = getVisualOffsets(element); + rect = { + x: clippingAncestor.x - visualOffsets.x, + y: clippingAncestor.y - visualOffsets.y, + width: clippingAncestor.width, + height: clippingAncestor.height }; } - function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) { - let rect; - if (clippingAncestor === 'viewport') { - rect = getViewportRect(element, strategy); - } else if (clippingAncestor === 'document') { - rect = getDocumentRect(getDocumentElement(element)); - } else if (isElement(clippingAncestor)) { - rect = getInnerBoundingClientRect(clippingAncestor, strategy); + return rectToClientRect(rect); +} +function hasFixedPositionAncestor(element, stopNode) { + const parentNode = getParentNode(element); + if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) { + return false; + } + return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode); +} + +// A "clipping ancestor" is an `overflow` element with the characteristic of +// clipping (or hiding) child elements. This returns all clipping ancestors +// of the given element up the tree. +function getClippingElementAncestors(element, cache) { + const cachedResult = cache.get(element); + if (cachedResult) { + return cachedResult; + } + let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body'); + let currentContainingBlockComputedStyle = null; + const elementIsFixed = getComputedStyle$1(element).position === 'fixed'; + let currentNode = elementIsFixed ? getParentNode(element) : element; + + // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block + while (isElement(currentNode) && !isLastTraversableNode(currentNode)) { + const computedStyle = getComputedStyle$1(currentNode); + const currentNodeIsContaining = isContainingBlock(currentNode); + if (!currentNodeIsContaining && computedStyle.position === 'fixed') { + currentContainingBlockComputedStyle = null; + } + const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode); + if (shouldDropCurrentNode) { + // Drop non-containing blocks. + result = result.filter(ancestor => ancestor !== currentNode); } else { - const visualOffsets = getVisualOffsets(element); - rect = { - x: clippingAncestor.x - visualOffsets.x, - y: clippingAncestor.y - visualOffsets.y, - width: clippingAncestor.width, - height: clippingAncestor.height - }; + // Record last containing block for next iteration. + currentContainingBlockComputedStyle = computedStyle; } - return rectToClientRect(rect); + currentNode = getParentNode(currentNode); } - function hasFixedPositionAncestor(element, stopNode) { - const parentNode = getParentNode(element); - if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) { - return false; + cache.set(element, result); + return result; +} + +// Gets the maximum area that the element is visible in due to any number of +// clipping ancestors. +function getClippingRect(_ref) { + let { + element, + boundary, + rootBoundary, + strategy + } = _ref; + const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary); + const clippingAncestors = [...elementClippingAncestors, rootBoundary]; + const firstClippingAncestor = clippingAncestors[0]; + const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => { + const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy); + accRect.top = max(rect.top, accRect.top); + accRect.right = min(rect.right, accRect.right); + accRect.bottom = min(rect.bottom, accRect.bottom); + accRect.left = max(rect.left, accRect.left); + return accRect; + }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy)); + return { + width: clippingRect.right - clippingRect.left, + height: clippingRect.bottom - clippingRect.top, + x: clippingRect.left, + y: clippingRect.top + }; +} + +function getDimensions(element) { + const { + width, + height + } = getCssDimensions(element); + return { + width, + height + }; +} + +function getRectRelativeToOffsetParent(element, offsetParent, strategy) { + const isOffsetParentAnElement = isHTMLElement(offsetParent); + const documentElement = getDocumentElement(offsetParent); + const isFixed = strategy === 'fixed'; + const rect = getBoundingClientRect(element, true, isFixed, offsetParent); + let scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + const offsets = createCoords(0); + + // If the scrollbar appears on the left (e.g. RTL systems). Use + // Firefox with layout.scrollbar.side = 3 in about:config to test this. + function setLeftRTLScrollbarOffset() { + offsets.x = getWindowScrollBarX(documentElement); + } + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isOffsetParentAnElement) { + const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent); + offsets.x = offsetRect.x + offsetParent.clientLeft; + offsets.y = offsetRect.y + offsetParent.clientTop; + } else if (documentElement) { + setLeftRTLScrollbarOffset(); } - return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode); } + if (isFixed && !isOffsetParentAnElement && documentElement) { + setLeftRTLScrollbarOffset(); + } + const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); + const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x; + const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y; + return { + x, + y, + width: rect.width, + height: rect.height + }; +} - // A "clipping ancestor" is an `overflow` element with the characteristic of - // clipping (or hiding) child elements. This returns all clipping ancestors - // of the given element up the tree. - function getClippingElementAncestors(element, cache) { - const cachedResult = cache.get(element); - if (cachedResult) { - return cachedResult; - } - let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body'); - let currentContainingBlockComputedStyle = null; - const elementIsFixed = getComputedStyle$1(element).position === 'fixed'; - let currentNode = elementIsFixed ? getParentNode(element) : element; +function isStaticPositioned(element) { + return getComputedStyle$1(element).position === 'static'; +} - // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block - while (isElement(currentNode) && !isLastTraversableNode(currentNode)) { - const computedStyle = getComputedStyle$1(currentNode); - const currentNodeIsContaining = isContainingBlock(currentNode); - if (!currentNodeIsContaining && computedStyle.position === 'fixed') { - currentContainingBlockComputedStyle = null; - } - const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode); - if (shouldDropCurrentNode) { - // Drop non-containing blocks. - result = result.filter(ancestor => ancestor !== currentNode); - } else { - // Record last containing block for next iteration. - currentContainingBlockComputedStyle = computedStyle; - } - currentNode = getParentNode(currentNode); - } - cache.set(element, result); - return result; +function getTrueOffsetParent(element, polyfill) { + if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') { + return null; } - - // Gets the maximum area that the element is visible in due to any number of - // clipping ancestors. - function getClippingRect(_ref) { - let { - element, - boundary, - rootBoundary, - strategy - } = _ref; - const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary); - const clippingAncestors = [...elementClippingAncestors, rootBoundary]; - const firstClippingAncestor = clippingAncestors[0]; - const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => { - const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy); - accRect.top = max(rect.top, accRect.top); - accRect.right = min(rect.right, accRect.right); - accRect.bottom = min(rect.bottom, accRect.bottom); - accRect.left = max(rect.left, accRect.left); - return accRect; - }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy)); - return { - width: clippingRect.right - clippingRect.left, - height: clippingRect.bottom - clippingRect.top, - x: clippingRect.left, - y: clippingRect.top - }; + if (polyfill) { + return polyfill(element); } - - function getDimensions(element) { - const { - width, - height - } = getCssDimensions(element); - return { - width, - height - }; + let rawOffsetParent = element.offsetParent; + + // Firefox returns the element as the offsetParent if it's non-static, + // while Chrome and Safari return the element. The element must + // be used to perform the correct calculations even if the element is + // non-static. + if (getDocumentElement(element) === rawOffsetParent) { + rawOffsetParent = rawOffsetParent.ownerDocument.body; } - - function getRectRelativeToOffsetParent(element, offsetParent, strategy) { - const isOffsetParentAnElement = isHTMLElement(offsetParent); - const documentElement = getDocumentElement(offsetParent); - const isFixed = strategy === 'fixed'; - const rect = getBoundingClientRect(element, true, isFixed, offsetParent); - let scroll = { - scrollLeft: 0, - scrollTop: 0 - }; - const offsets = createCoords(0); - - // If the scrollbar appears on the left (e.g. RTL systems). Use - // Firefox with layout.scrollbar.side = 3 in about:config to test this. - function setLeftRTLScrollbarOffset() { - offsets.x = getWindowScrollBarX(documentElement); - } - if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { - if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) { - scroll = getNodeScroll(offsetParent); - } - if (isOffsetParentAnElement) { - const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent); - offsets.x = offsetRect.x + offsetParent.clientLeft; - offsets.y = offsetRect.y + offsetParent.clientTop; - } else if (documentElement) { - setLeftRTLScrollbarOffset(); + return rawOffsetParent; +} + +// Gets the closest ancestor positioned element. Handles some edge cases, +// such as table ancestors and cross browser bugs. +function getOffsetParent(element, polyfill) { + const win = getWindow(element); + if (isTopLayer(element)) { + return win; + } + if (!isHTMLElement(element)) { + let svgOffsetParent = getParentNode(element); + while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) { + if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) { + return svgOffsetParent; } + svgOffsetParent = getParentNode(svgOffsetParent); } - if (isFixed && !isOffsetParentAnElement && documentElement) { - setLeftRTLScrollbarOffset(); - } - const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); - const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x; - const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y; - return { - x, - y, - width: rect.width, - height: rect.height - }; + return win; } - - function isStaticPositioned(element) { - return getComputedStyle$1(element).position === 'static'; + let offsetParent = getTrueOffsetParent(element, polyfill); + while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) { + offsetParent = getTrueOffsetParent(offsetParent, polyfill); } - - function getTrueOffsetParent(element, polyfill) { - if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') { - return null; - } - if (polyfill) { - return polyfill(element); - } - let rawOffsetParent = element.offsetParent; - - // Firefox returns the element as the offsetParent if it's non-static, - // while Chrome and Safari return the element. The element must - // be used to perform the correct calculations even if the element is - // non-static. - if (getDocumentElement(element) === rawOffsetParent) { - rawOffsetParent = rawOffsetParent.ownerDocument.body; + if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) { + return win; + } + return offsetParent || getContainingBlock(element) || win; +} + +const getElementRects = async function (data) { + const getOffsetParentFn = this.getOffsetParent || getOffsetParent; + const getDimensionsFn = this.getDimensions; + const floatingDimensions = await getDimensionsFn(data.floating); + return { + reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy), + floating: { + x: 0, + y: 0, + width: floatingDimensions.width, + height: floatingDimensions.height } - return rawOffsetParent; + }; +}; + +function isRTL(element) { + return getComputedStyle$1(element).direction === 'rtl'; +} + +const platform = { + convertOffsetParentRelativeRectToViewportRelativeRect, + getDocumentElement, + getClippingRect, + getOffsetParent, + getElementRects, + getClientRects, + getDimensions, + getScale, + isElement, + isRTL +}; + +function rectsAreEqual(a, b) { + return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; +} + +// https://samthor.au/2021/observing-dom/ +function observeMove(element, onMove) { + let io = null; + let timeoutId; + const root = getDocumentElement(element); + function cleanup() { + var _io; + clearTimeout(timeoutId); + (_io = io) == null || _io.disconnect(); + io = null; } - - // Gets the closest ancestor positioned element. Handles some edge cases, - // such as table ancestors and cross browser bugs. - function getOffsetParent(element, polyfill) { - const win = getWindow(element); - if (isTopLayer(element)) { - return win; + function refresh(skip, threshold) { + if (skip === void 0) { + skip = false; } - if (!isHTMLElement(element)) { - let svgOffsetParent = getParentNode(element); - while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) { - if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) { - return svgOffsetParent; - } - svgOffsetParent = getParentNode(svgOffsetParent); - } - return win; + if (threshold === void 0) { + threshold = 1; } - let offsetParent = getTrueOffsetParent(element, polyfill); - while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) { - offsetParent = getTrueOffsetParent(offsetParent, polyfill); + cleanup(); + const elementRectForRootMargin = element.getBoundingClientRect(); + const { + left, + top, + width, + height + } = elementRectForRootMargin; + if (!skip) { + onMove(); } - if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) { - return win; + if (!width || !height) { + return; } - return offsetParent || getContainingBlock(element) || win; - } - - const getElementRects = async function (data) { - const getOffsetParentFn = this.getOffsetParent || getOffsetParent; - const getDimensionsFn = this.getDimensions; - const floatingDimensions = await getDimensionsFn(data.floating); - return { - reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy), - floating: { - x: 0, - y: 0, - width: floatingDimensions.width, - height: floatingDimensions.height - } + const insetTop = floor(top); + const insetRight = floor(root.clientWidth - (left + width)); + const insetBottom = floor(root.clientHeight - (top + height)); + const insetLeft = floor(left); + const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px"; + const options = { + rootMargin, + threshold: max(0, min(1, threshold)) || 1 }; - }; - - function isRTL(element) { - return getComputedStyle$1(element).direction === 'rtl'; - } - - const platform = { - convertOffsetParentRelativeRectToViewportRelativeRect, - getDocumentElement, - getClippingRect, - getOffsetParent, - getElementRects, - getClientRects, - getDimensions, - getScale, - isElement, - isRTL - }; - - function rectsAreEqual(a, b) { - return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; - } - - // https://samthor.au/2021/observing-dom/ - function observeMove(element, onMove) { - let io = null; - let timeoutId; - const root = getDocumentElement(element); - function cleanup() { - var _io; - clearTimeout(timeoutId); - (_io = io) == null || _io.disconnect(); - io = null; - } - function refresh(skip, threshold) { - if (skip === void 0) { - skip = false; - } - if (threshold === void 0) { - threshold = 1; - } - cleanup(); - const elementRectForRootMargin = element.getBoundingClientRect(); - const { - left, - top, - width, - height - } = elementRectForRootMargin; - if (!skip) { - onMove(); - } - if (!width || !height) { - return; - } - const insetTop = floor(top); - const insetRight = floor(root.clientWidth - (left + width)); - const insetBottom = floor(root.clientHeight - (top + height)); - const insetLeft = floor(left); - const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px"; - const options = { - rootMargin, - threshold: max(0, min(1, threshold)) || 1 - }; - let isFirstUpdate = true; - function handleObserve(entries) { - const ratio = entries[0].intersectionRatio; - if (ratio !== threshold) { - if (!isFirstUpdate) { - return refresh(); - } - if (!ratio) { - // If the reference is clipped, the ratio is 0. Throttle the refresh - // to prevent an infinite loop of updates. - timeoutId = setTimeout(() => { - refresh(false, 1e-7); - }, 1000); - } else { - refresh(false, ratio); - } + let isFirstUpdate = true; + function handleObserve(entries) { + const ratio = entries[0].intersectionRatio; + if (ratio !== threshold) { + if (!isFirstUpdate) { + return refresh(); } - if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) { - // It's possible that even though the ratio is reported as 1, the - // element is not actually fully within the IntersectionObserver's root - // area anymore. This can happen under performance constraints. This may - // be a bug in the browser's IntersectionObserver implementation. To - // work around this, we compare the element's bounding rect now with - // what it was at the time we created the IntersectionObserver. If they - // are not equal then the element moved, so we refresh. - refresh(); + if (!ratio) { + // If the reference is clipped, the ratio is 0. Throttle the refresh + // to prevent an infinite loop of updates. + timeoutId = setTimeout(() => { + refresh(false, 1e-7); + }, 1000); + } else { + refresh(false, ratio); } - isFirstUpdate = false; } - - // Older browsers don't support a `document` as the root and will throw an - // error. - try { - io = new IntersectionObserver(handleObserve, { - ...options, - // Handle