diff --git a/.gitignore b/.gitignore index 242d3d11f445216d584b2ed94cbec4d4b329723c..60135da18e2ecd29763ae6b7f0ba296e6b49686e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ config/bddConnect.php -/.idea \ No newline at end of file +/.idea +/node_modules \ No newline at end of file diff --git a/index.php b/index.php index 24296458e7f226eb72009352147c6b8585ce9d32..95f13b8a9378c0a7fdaa88dcd9b8c387afe9441d 100644 --- a/index.php +++ b/index.php @@ -4,10 +4,6 @@ require_once('core/_inc.php'); //Not currently used /* require_once('config/bddConnect.php'); */ -require_once('pages/header.php'); -require_once('pages/navbar.php'); -require_once('pages/voice.php'); - if(!empty($_GET['page'])){ switch ($_GET["page"]) { case 'accueil': diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..e79263993cbc417c6cacf2627eb155e396362721 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2585 @@ +{ + "name": "Cristo", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "Cristo", + "version": "1.0.0", + "devDependencies": { + "clean-css-cli": "^5.6.2", + "node-sass": "^8.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", + "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^2.0.0", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css-cli": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.6.2.tgz", + "integrity": "sha512-GDQkr6zVqHJhO3yWTy3sA22sMCT6iUqaJuBdqZMW6oI25MtiJ2iZXDmWzErpjoRotsB+TYPTpuZSNSgaC1n4lA==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "clean-css": "^5.3.2", + "commander": "7.x", + "glob": "^7.1.6" + }, + "bin": { + "cleancss": "bin/cleancss" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "dependencies": { + "globule": "^1.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globule": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "dev": true, + "dependencies": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/globule/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globule/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/node-gyp/node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/node-gyp/node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-gyp/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-gyp/node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dev": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/node-gyp/node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-gyp/node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-gyp/node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/node-gyp/node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/node-sass": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-8.0.0.tgz", + "integrity": "sha512-jPzqCF2/e6JXw6r3VxfIqYc8tKQdkj5Z/BDATYyG6FL6b/LuYBNFGFVhus0mthcWifHm/JzBpKAd+3eXsWeK/A==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "async-foreach": "^0.1.3", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "make-fetch-happen": "^10.0.4", + "meow": "^9.0.0", + "nan": "^2.17.0", + "node-gyp": "^8.4.1", + "sass-graph": "^4.0.1", + "stdout-stream": "^1.4.0", + "true-case-path": "^2.2.1" + }, + "bin": { + "node-sass": "bin/node-sass" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", + "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.12.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "node_modules/sass-graph": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", + "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "lodash": "^4.17.11", + "scss-tokenizer": "^0.4.3", + "yargs": "^17.2.1" + }, + "bin": { + "sassgraph": "bin/sassgraph" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/scss-tokenizer": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", + "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", + "dev": true, + "dependencies": { + "js-base64": "^2.4.9", + "source-map": "^0.7.3" + } + }, + "node_modules/scss-tokenizer/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dev": true, + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/stdout-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stdout-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stdout-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000000000000000000000000000000000000..d9e9a2b6a7c8071047c7054ce08a93c4624c2195 --- /dev/null +++ b/package.json @@ -0,0 +1,11 @@ +{ + "name": "Cristo", + "scripts": { + "build": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 styles/scss/app.scss styles/dist/styles.css" + }, + "version": "1.0.0", + "devDependencies": { + "clean-css-cli": "^5.6.2", + "node-sass": "^8.0.0" + } +} diff --git a/pages/accueil.php b/pages/accueil.php index ab68c60c3a9f3c1b876ebd60b453c2f3ea95eef8..51888d471a5519e6bc11f46a728e3a6ff133790a 100644 --- a/pages/accueil.php +++ b/pages/accueil.php @@ -1,25 +1,17 @@ - <!DOCTYPE html> <html lang="fr"> - <head> - <meta charset="utf-8"> - <title> Cristo </title> - <link rel="stylesheet" href="styles/font-awesome/css/font-awesome.min.css"> - </head> - <body> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title> Cristo </title> + <link rel="stylesheet" href="/styles/font-awesome/css/font-awesome.min.css"> + <link rel="stylesheet" href="/styles/dist/styles.css"> +</head> +<body> <header> - <nav> - <?php - ?> - </nav> + <?php include "navbar.php"; ?> </header> - <main> - - </main> - <?php - ?> -</body> -</html> - -<?php \ No newline at end of file + <?php include "footer.php"; ?> +</body> +</html> \ No newline at end of file diff --git a/pages/footer.php b/pages/footer.php index 24923e2a11115af67f2a4abac55404f3a8d90b46..54893473a87b6b4212086cf61c78e1b3ed5946f6 100644 --- a/pages/footer.php +++ b/pages/footer.php @@ -1,6 +1,8 @@ <script type="text/javascript" src="js/app.js"></script> <script type="text/javascript" src="js/voice.js"></script> -<script src="https://kit.fontawesome.com/731cc9a451.js" crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" + integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" + crossorigin="anonymous"></script> <footer> - © Cristo 2023 - </footer> \ No newline at end of file + © Cristo 2023 +</footer> \ No newline at end of file diff --git a/pages/navbar.php b/pages/navbar.php index 9851ccade8722bc0822194e3a8b3b9c0c57d367a..f352f5f7cb9f83e74fd3047cb21bdfc74b5ea142 100644 --- a/pages/navbar.php +++ b/pages/navbar.php @@ -1,20 +1,19 @@ +<nav class="navbar"> + <div class="d-flex align-items-center gap-3"> + <a class="logo" href="#Acceuil" class="link">Crist'o</a> + <a href="#recette" class="link">Recettes de cuisine</a> + <a href="#special" class="link">Spéciales pâques</a> + </div> - <nav class="topnav"> - <div> - <a class="active" href="#Acceuil">Acceuil</a> - <a href="#recette">Recettes de cuisine</a> - <a href="#special">Spéciales pâques</a> - </div> - - <!-- barre de recherche --> - <div class="search-container"> - <form action="/action_page.php"> - <input type="text" placeholder="Chercher quelque chose" name="search"> - <button type="submit"><i class="fa fa-search"></i></button> - </form> - </div> - <div> - <a href="#connexion">Connexion</a> - <a href="#inscription">Inscription</a> - </div> - </nav> \ No newline at end of file + <!-- barre de recherche --> + <div class="search-container"> + <form action="/action_page.php" method="get" class="d-flex gap-3"> + <input class="form-control rounded-pill" type="text" placeholder="Chercher quelque chose" name="search"> + <button class="btn btn-primary rounded-pill" type="submit"><i class="fa fa-search"></i></button> + </form> + </div> + <div> + <a href="#connexion">Connexion</a> + <a href="#inscription">Inscription</a> + </div> +</nav> \ No newline at end of file diff --git a/styles/bootstrap/_accordion.scss b/styles/bootstrap/_accordion.scss new file mode 100644 index 0000000000000000000000000000000000000000..f09601bab6bba389d196dc961cc13f8c3fca96cc --- /dev/null +++ b/styles/bootstrap/_accordion.scss @@ -0,0 +1,149 @@ +// +// Base styles +// + +.accordion { + // scss-docs-start accordion-css-vars + --#{$prefix}accordion-color: #{$accordion-color}; + --#{$prefix}accordion-bg: #{$accordion-bg}; + --#{$prefix}accordion-transition: #{$accordion-transition}; + --#{$prefix}accordion-border-color: #{$accordion-border-color}; + --#{$prefix}accordion-border-width: #{$accordion-border-width}; + --#{$prefix}accordion-border-radius: #{$accordion-border-radius}; + --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius}; + --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x}; + --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y}; + --#{$prefix}accordion-btn-color: #{$accordion-button-color}; + --#{$prefix}accordion-btn-bg: #{$accordion-button-bg}; + --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)}; + --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width}; + --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform}; + --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition}; + --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)}; + --#{$prefix}accordion-btn-focus-border-color: #{$accordion-button-focus-border-color}; + --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow}; + --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x}; + --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y}; + --#{$prefix}accordion-active-color: #{$accordion-button-active-color}; + --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg}; + // scss-docs-end accordion-css-vars +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x); + @include font-size($font-size-base); + color: var(--#{$prefix}accordion-btn-color); + text-align: left; // Reset button style + background-color: var(--#{$prefix}accordion-btn-bg); + border: 0; + @include border-radius(0); + overflow-anchor: none; + @include transition(var(--#{$prefix}accordion-transition)); + + &:not(.collapsed) { + color: var(--#{$prefix}accordion-active-color); + background-color: var(--#{$prefix}accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list + + &::after { + background-image: var(--#{$prefix}accordion-btn-active-icon); + transform: var(--#{$prefix}accordion-btn-icon-transform); + } + } + + // Accordion icon + &::after { + flex-shrink: 0; + width: var(--#{$prefix}accordion-btn-icon-width); + height: var(--#{$prefix}accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--#{$prefix}accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--#{$prefix}accordion-btn-icon-width); + @include transition(var(--#{$prefix}accordion-btn-icon-transition)); + } + + &:hover { + z-index: 2; + } + + &:focus { + z-index: 3; + border-color: var(--#{$prefix}accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow); + } +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--#{$prefix}accordion-color); + background-color: var(--#{$prefix}accordion-bg); + border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color); + + &:first-of-type { + @include border-top-radius(var(--#{$prefix}accordion-border-radius)); + + .accordion-button { + @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius)); + } + } + + &:not(:first-of-type) { + border-top: 0; + } + + // Only set a border-radius on the last item if the accordion is collapsed + &:last-of-type { + @include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); + + .accordion-button { + &.collapsed { + @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius)); + } + } + + .accordion-collapse { + @include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); + } + } +} + +.accordion-body { + padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x); +} + + +// Flush accordion items +// +// Remove borders and border-radius to keep accordion items edge-to-edge. + +.accordion-flush { + .accordion-collapse { + border-width: 0; + } + + .accordion-item { + border-right: 0; + border-left: 0; + @include border-radius(0); + + &:first-child { border-top: 0; } + &:last-child { border-bottom: 0; } + + .accordion-button { + &, + &.collapsed { + @include border-radius(0); + } + } + } +} diff --git a/styles/bootstrap/_alert.scss b/styles/bootstrap/_alert.scss new file mode 100644 index 0000000000000000000000000000000000000000..c8bc91b4208bbc138e3f15497e2167f0ee11db54 --- /dev/null +++ b/styles/bootstrap/_alert.scss @@ -0,0 +1,71 @@ +// +// Base styles +// + +.alert { + // scss-docs-start alert-css-vars + --#{$prefix}alert-bg: transparent; + --#{$prefix}alert-padding-x: #{$alert-padding-x}; + --#{$prefix}alert-padding-y: #{$alert-padding-y}; + --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom}; + --#{$prefix}alert-color: inherit; + --#{$prefix}alert-border-color: transparent; + --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color); + --#{$prefix}alert-border-radius: #{$alert-border-radius}; + // scss-docs-end alert-css-vars + + position: relative; + padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x); + margin-bottom: var(--#{$prefix}alert-margin-bottom); + color: var(--#{$prefix}alert-color); + background-color: var(--#{$prefix}alert-bg); + border: var(--#{$prefix}alert-border); + @include border-radius(var(--#{$prefix}alert-border-radius)); +} + +// Headings for larger alerts +.alert-heading { + // Specified to prevent conflicts of changing $headings-color + color: inherit; +} + +// Provide class for links that match alerts +.alert-link { + font-weight: $alert-link-font-weight; +} + + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissible { + padding-right: $alert-dismissible-padding-r; + + // Adjust close link position + .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: $stretched-link-z-index + 1; + padding: $alert-padding-y * 1.25 $alert-padding-x; + } +} + + +// scss-docs-start alert-modifiers +// Generate contextual modifier classes for colorizing the alert. + +@each $state, $value in $theme-colors { + $alert-background: shift-color($value, $alert-bg-scale); + $alert-border: shift-color($value, $alert-border-scale); + $alert-color: shift-color($value, $alert-color-scale); + + @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) { + $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale)); + } + .alert-#{$state} { + @include alert-variant($alert-background, $alert-border, $alert-color); + } +} +// scss-docs-end alert-modifiers diff --git a/styles/bootstrap/_badge.scss b/styles/bootstrap/_badge.scss new file mode 100644 index 0000000000000000000000000000000000000000..cc3d2695566a65f771933d18ee378daf8dd26513 --- /dev/null +++ b/styles/bootstrap/_badge.scss @@ -0,0 +1,38 @@ +// Base class +// +// Requires one of the contextual, color modifier classes for `color` and +// `background-color`. + +.badge { + // scss-docs-start badge-css-vars + --#{$prefix}badge-padding-x: #{$badge-padding-x}; + --#{$prefix}badge-padding-y: #{$badge-padding-y}; + @include rfs($badge-font-size, --#{$prefix}badge-font-size); + --#{$prefix}badge-font-weight: #{$badge-font-weight}; + --#{$prefix}badge-color: #{$badge-color}; + --#{$prefix}badge-border-radius: #{$badge-border-radius}; + // scss-docs-end badge-css-vars + + display: inline-block; + padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x); + @include font-size(var(--#{$prefix}badge-font-size)); + font-weight: var(--#{$prefix}badge-font-weight); + line-height: 1; + color: var(--#{$prefix}badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + @include border-radius(var(--#{$prefix}badge-border-radius)); + @include gradient-bg(); + + // Empty badges collapse automatically + &:empty { + display: none; + } +} + +// Quick fix for badges in buttons +.btn .badge { + position: relative; + top: -1px; +} diff --git a/styles/bootstrap/_breadcrumb.scss b/styles/bootstrap/_breadcrumb.scss new file mode 100644 index 0000000000000000000000000000000000000000..b8252ff2152a380bf5518464d05f4e281791fe4b --- /dev/null +++ b/styles/bootstrap/_breadcrumb.scss @@ -0,0 +1,40 @@ +.breadcrumb { + // scss-docs-start breadcrumb-css-vars + --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x}; + --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y}; + --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom}; + @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size); + --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg}; + --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius}; + --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color}; + --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x}; + --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color}; + // scss-docs-end breadcrumb-css-vars + + display: flex; + flex-wrap: wrap; + padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x); + margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom); + @include font-size(var(--#{$prefix}breadcrumb-font-size)); + list-style: none; + background-color: var(--#{$prefix}breadcrumb-bg); + @include border-radius(var(--#{$prefix}breadcrumb-border-radius)); +} + +.breadcrumb-item { + // The separator between breadcrumbs (by default, a forward-slash: "/") + + .breadcrumb-item { + padding-left: var(--#{$prefix}breadcrumb-item-padding-x); + + &::before { + float: left; // Suppress inline spacings and underlining of the separator + padding-right: var(--#{$prefix}breadcrumb-item-padding-x); + color: var(--#{$prefix}breadcrumb-divider-color); + content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"}; + } + } + + &.active { + color: var(--#{$prefix}breadcrumb-item-active-color); + } +} diff --git a/styles/bootstrap/_button-group.scss b/styles/bootstrap/_button-group.scss new file mode 100644 index 0000000000000000000000000000000000000000..79b100cbfbd466c27ba425d15043eaa7c1b475ad --- /dev/null +++ b/styles/bootstrap/_button-group.scss @@ -0,0 +1,142 @@ +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; // match .btn alignment given font-size hack above + + > .btn { + position: relative; + flex: 1 1 auto; + } + + // Bring the hover, focused, and "active" buttons to the front to overlay + // the borders properly + > .btn-check:checked + .btn, + > .btn-check:focus + .btn, + > .btn:hover, + > .btn:focus, + > .btn:active, + > .btn.active { + z-index: 1; + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + + .input-group { + width: auto; + } +} + +.btn-group { + @include border-radius($btn-border-radius); + + // Prevent double borders when buttons are next to each other + > :not(.btn-check:first-child) + .btn, + > .btn-group:not(:first-child) { + margin-left: -$btn-border-width; + } + + // Reset rounded corners + > .btn:not(:last-child):not(.dropdown-toggle), + > .btn.dropdown-toggle-split:first-child, + > .btn-group:not(:last-child) > .btn { + @include border-end-radius(0); + } + + // The left radius should be 0 if the button is: + // - the "third or more" child + // - the second child and the previous element isn't `.btn-check` (making it the first child visually) + // - part of a btn-group which isn't the first child + > .btn:nth-child(n + 3), + > :not(.btn-check) + .btn, + > .btn-group:not(:first-child) > .btn { + @include border-start-radius(0); + } +} + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-sm > .btn { @extend .btn-sm; } +.btn-group-lg > .btn { @extend .btn-lg; } + + +// +// Split button dropdowns +// + +.dropdown-toggle-split { + padding-right: $btn-padding-x * .75; + padding-left: $btn-padding-x * .75; + + &::after, + .dropup &::after, + .dropend &::after { + margin-left: 0; + } + + .dropstart &::before { + margin-right: 0; + } +} + +.btn-sm + .dropdown-toggle-split { + padding-right: $btn-padding-x-sm * .75; + padding-left: $btn-padding-x-sm * .75; +} + +.btn-lg + .dropdown-toggle-split { + padding-right: $btn-padding-x-lg * .75; + padding-left: $btn-padding-x-lg * .75; +} + + +// The clickable button for toggling the menu +// Set the same inset shadow as the :active state +.btn-group.show .dropdown-toggle { + @include box-shadow($btn-active-box-shadow); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + @include box-shadow(none); + } +} + + +// +// Vertical button groups +// + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; + + > .btn, + > .btn-group { + width: 100%; + } + + > .btn:not(:first-child), + > .btn-group:not(:first-child) { + margin-top: -$btn-border-width; + } + + // Reset rounded corners + > .btn:not(:last-child):not(.dropdown-toggle), + > .btn-group:not(:last-child) > .btn { + @include border-bottom-radius(0); + } + + > .btn ~ .btn, + > .btn-group:not(:first-child) > .btn { + @include border-top-radius(0); + } +} diff --git a/styles/bootstrap/_buttons.scss b/styles/bootstrap/_buttons.scss new file mode 100644 index 0000000000000000000000000000000000000000..f2c4c13a9d2bb085093183de1402077313fa5cea --- /dev/null +++ b/styles/bootstrap/_buttons.scss @@ -0,0 +1,207 @@ +// +// Base styles +// + +.btn { + // scss-docs-start btn-css-vars + --#{$prefix}btn-padding-x: #{$btn-padding-x}; + --#{$prefix}btn-padding-y: #{$btn-padding-y}; + --#{$prefix}btn-font-family: #{$btn-font-family}; + @include rfs($btn-font-size, --#{$prefix}btn-font-size); + --#{$prefix}btn-font-weight: #{$btn-font-weight}; + --#{$prefix}btn-line-height: #{$btn-line-height}; + --#{$prefix}btn-color: #{$body-color}; + --#{$prefix}btn-bg: transparent; + --#{$prefix}btn-border-width: #{$btn-border-width}; + --#{$prefix}btn-border-color: transparent; + --#{$prefix}btn-border-radius: #{$btn-border-radius}; + --#{$prefix}btn-hover-border-color: transparent; + --#{$prefix}btn-box-shadow: #{$btn-box-shadow}; + --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity}; + --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5); + // scss-docs-end btn-css-vars + + display: inline-block; + padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x); + font-family: var(--#{$prefix}btn-font-family); + @include font-size(var(--#{$prefix}btn-font-size)); + font-weight: var(--#{$prefix}btn-font-weight); + line-height: var(--#{$prefix}btn-line-height); + color: var(--#{$prefix}btn-color); + text-align: center; + text-decoration: if($link-decoration == none, null, none); + white-space: $btn-white-space; + vertical-align: middle; + cursor: if($enable-button-pointers, pointer, null); + user-select: none; + border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color); + @include border-radius(var(--#{$prefix}btn-border-radius)); + @include gradient-bg(var(--#{$prefix}btn-bg)); + @include box-shadow(var(--#{$prefix}btn-box-shadow)); + @include transition($btn-transition); + + &:hover { + color: var(--#{$prefix}btn-hover-color); + text-decoration: if($link-hover-decoration == underline, none, null); + background-color: var(--#{$prefix}btn-hover-bg); + border-color: var(--#{$prefix}btn-hover-border-color); + } + + .btn-check + &:hover { + // override for the checkbox/radio buttons + color: var(--#{$prefix}btn-color); + background-color: var(--#{$prefix}btn-bg); + border-color: var(--#{$prefix}btn-border-color); + } + + &:focus-visible { + color: var(--#{$prefix}btn-hover-color); + @include gradient-bg(var(--#{$prefix}btn-hover-bg)); + border-color: var(--#{$prefix}btn-hover-border-color); + outline: 0; + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + + .btn-check:focus-visible + & { + border-color: var(--#{$prefix}btn-hover-border-color); + outline: 0; + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + + .btn-check:checked + &, + :not(.btn-check) + &:active, + &:first-child:active, + &.active, + &.show { + color: var(--#{$prefix}btn-active-color); + background-color: var(--#{$prefix}btn-active-bg); + // Remove CSS gradients if they're enabled + background-image: if($enable-gradients, none, null); + border-color: var(--#{$prefix}btn-active-border-color); + @include box-shadow(var(--#{$prefix}btn-active-shadow)); + + &:focus-visible { + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + } + + &:disabled, + &.disabled, + fieldset:disabled & { + color: var(--#{$prefix}btn-disabled-color); + pointer-events: none; + background-color: var(--#{$prefix}btn-disabled-bg); + background-image: if($enable-gradients, none, null); + border-color: var(--#{$prefix}btn-disabled-border-color); + opacity: var(--#{$prefix}btn-disabled-opacity); + @include box-shadow(none); + } +} + + +// +// Alternate buttons +// + +// scss-docs-start btn-variant-loops +@each $color, $value in $theme-colors { + .btn-#{$color} { + @if $color == "light" { + @include button-variant( + $value, + $value, + $hover-background: shade-color($value, $btn-hover-bg-shade-amount), + $hover-border: shade-color($value, $btn-hover-border-shade-amount), + $active-background: shade-color($value, $btn-active-bg-shade-amount), + $active-border: shade-color($value, $btn-active-border-shade-amount) + ); + } @else if $color == "dark" { + @include button-variant( + $value, + $value, + $hover-background: tint-color($value, $btn-hover-bg-tint-amount), + $hover-border: tint-color($value, $btn-hover-border-tint-amount), + $active-background: tint-color($value, $btn-active-bg-tint-amount), + $active-border: tint-color($value, $btn-active-border-tint-amount) + ); + } @else { + @include button-variant($value, $value); + } + } +} + +@each $color, $value in $theme-colors { + .btn-outline-#{$color} { + @include button-outline-variant($value); + } +} +// scss-docs-end btn-variant-loops + + +// +// Link buttons +// + +// Make a button look and behave like a link +.btn-link { + --#{$prefix}btn-font-weight: #{$font-weight-normal}; + --#{$prefix}btn-color: #{$btn-link-color}; + --#{$prefix}btn-bg: transparent; + --#{$prefix}btn-border-color: transparent; + --#{$prefix}btn-hover-color: #{$btn-link-hover-color}; + --#{$prefix}btn-hover-border-color: transparent; + --#{$prefix}btn-active-color: #{$btn-link-hover-color}; + --#{$prefix}btn-active-border-color: transparent; + --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color}; + --#{$prefix}btn-disabled-border-color: transparent; + --#{$prefix}btn-box-shadow: none; + --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix(color-contrast($primary), $primary, 15%))}; + + text-decoration: $link-decoration; + @if $enable-gradients { + background-image: none; + } + + &:hover, + &:focus-visible { + text-decoration: $link-hover-decoration; + } + + &:focus-visible { + color: var(--#{$prefix}btn-color); + } + + &:hover { + color: var(--#{$prefix}btn-hover-color); + } + + // No need for an active state here +} + + +// +// Button Sizes +// + +.btn-lg { + @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg); +} + +.btn-sm { + @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm); +} diff --git a/styles/bootstrap/_card.scss b/styles/bootstrap/_card.scss new file mode 100644 index 0000000000000000000000000000000000000000..ce8c02f1f254ce5ed4275d9f5b4994a12d475e00 --- /dev/null +++ b/styles/bootstrap/_card.scss @@ -0,0 +1,234 @@ +// +// Base styles +// + +.card { + // scss-docs-start card-css-vars + --#{$prefix}card-spacer-y: #{$card-spacer-y}; + --#{$prefix}card-spacer-x: #{$card-spacer-x}; + --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y}; + --#{$prefix}card-border-width: #{$card-border-width}; + --#{$prefix}card-border-color: #{$card-border-color}; + --#{$prefix}card-border-radius: #{$card-border-radius}; + --#{$prefix}card-box-shadow: #{$card-box-shadow}; + --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius}; + --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y}; + --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x}; + --#{$prefix}card-cap-bg: #{$card-cap-bg}; + --#{$prefix}card-cap-color: #{$card-cap-color}; + --#{$prefix}card-height: #{$card-height}; + --#{$prefix}card-color: #{$card-color}; + --#{$prefix}card-bg: #{$card-bg}; + --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding}; + --#{$prefix}card-group-margin: #{$card-group-margin}; + // scss-docs-end card-css-vars + + position: relative; + display: flex; + flex-direction: column; + min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106 + height: var(--#{$prefix}card-height); + word-wrap: break-word; + background-color: var(--#{$prefix}card-bg); + background-clip: border-box; + border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); + @include border-radius(var(--#{$prefix}card-border-radius)); + @include box-shadow(var(--#{$prefix}card-box-shadow)); + + > hr { + margin-right: 0; + margin-left: 0; + } + + > .list-group { + border-top: inherit; + border-bottom: inherit; + + &:first-child { + border-top-width: 0; + @include border-top-radius(var(--#{$prefix}card-inner-border-radius)); + } + + &:last-child { + border-bottom-width: 0; + @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius)); + } + } + + // Due to specificity of the above selector (`.card > .list-group`), we must + // use a child selector here to prevent double borders. + > .card-header + .list-group, + > .list-group + .card-footer { + border-top: 0; + } +} + +.card-body { + // Enable `flex-grow: 1` for decks and groups so that card blocks take up + // as much space as possible, ensuring footers are aligned to the bottom. + flex: 1 1 auto; + padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x); + color: var(--#{$prefix}card-color); +} + +.card-title { + margin-bottom: var(--#{$prefix}card-title-spacer-y); +} + +.card-subtitle { + margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link { + &:hover { + text-decoration: if($link-hover-decoration == underline, none, null); + } + + + .card-link { + margin-left: var(--#{$prefix}card-spacer-x); + } +} + +// +// Optional textual caps +// + +.card-header { + padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x); + margin-bottom: 0; // Removes the default margin-bottom of <hN> + color: var(--#{$prefix}card-cap-color); + background-color: var(--#{$prefix}card-cap-bg); + border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); + + &:first-child { + @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0); + } +} + +.card-footer { + padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x); + color: var(--#{$prefix}card-cap-color); + background-color: var(--#{$prefix}card-cap-bg); + border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); + + &:last-child { + @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius)); + } +} + + +// +// Header navs +// + +.card-header-tabs { + margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list + margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list + margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list + border-bottom: 0; + + .nav-link.active { + background-color: var(--#{$prefix}card-bg); + border-bottom-color: var(--#{$prefix}card-bg); + } +} + +.card-header-pills { + margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list + margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list +} + +// Card image +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--#{$prefix}card-img-overlay-padding); + @include border-radius(var(--#{$prefix}card-inner-border-radius)); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch +} + +.card-img, +.card-img-top { + @include border-top-radius(var(--#{$prefix}card-inner-border-radius)); +} + +.card-img, +.card-img-bottom { + @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius)); +} + + +// +// Card groups +// + +.card-group { + // The child selector allows nested `.card` within `.card-group` + // to display properly. + > .card { + margin-bottom: var(--#{$prefix}card-group-margin); + } + + @include media-breakpoint-up(sm) { + display: flex; + flex-flow: row wrap; + // The child selector allows nested `.card` within `.card-group` + // to display properly. + > .card { + // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 + flex: 1 0 0%; + margin-bottom: 0; + + + .card { + margin-left: 0; + border-left: 0; + } + + // Handle rounded corners + @if $enable-rounded { + &:not(:last-child) { + @include border-end-radius(0); + + .card-img-top, + .card-header { + // stylelint-disable-next-line property-disallowed-list + border-top-right-radius: 0; + } + .card-img-bottom, + .card-footer { + // stylelint-disable-next-line property-disallowed-list + border-bottom-right-radius: 0; + } + } + + &:not(:first-child) { + @include border-start-radius(0); + + .card-img-top, + .card-header { + // stylelint-disable-next-line property-disallowed-list + border-top-left-radius: 0; + } + .card-img-bottom, + .card-footer { + // stylelint-disable-next-line property-disallowed-list + border-bottom-left-radius: 0; + } + } + } + } + } +} diff --git a/styles/bootstrap/_carousel.scss b/styles/bootstrap/_carousel.scss new file mode 100644 index 0000000000000000000000000000000000000000..858b83634dc5354354097f58b8799b3be7a077aa --- /dev/null +++ b/styles/bootstrap/_carousel.scss @@ -0,0 +1,226 @@ +// Notes on the classes: +// +// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically) +// even when their scroll action started on a carousel, but for compatibility (with Firefox) +// we're preventing all actions instead +// 2. The .carousel-item-start and .carousel-item-end is used to indicate where +// the active slide is heading. +// 3. .active.carousel-item is the current slide. +// 4. .active.carousel-item-start and .active.carousel-item-end is the current +// slide in its in-transition state. Only one of these occurs at a time. +// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end +// is the upcoming slide in transition. + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; + @include clearfix(); +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + @include transition($carousel-transition); +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + + +// +// Alternate transitions +// + +.carousel-fade { + .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; + } + + .carousel-item.active, + .carousel-item-next.carousel-item-start, + .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; + } + + .active.carousel-item-start, + .active.carousel-item-end { + z-index: 0; + opacity: 0; + @include transition(opacity 0s $carousel-transition-duration); + } +} + + +// +// Left/right controls for nav +// + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + // Use flex for alignment (1-3) + display: flex; // 1. allow flex styles + align-items: center; // 2. vertically center contents + justify-content: center; // 3. horizontally center contents + width: $carousel-control-width; + padding: 0; + color: $carousel-control-color; + text-align: center; + background: none; + border: 0; + opacity: $carousel-control-opacity; + @include transition($carousel-control-transition); + + // Hover/focus state + &:hover, + &:focus { + color: $carousel-control-color; + text-decoration: none; + outline: 0; + opacity: $carousel-control-hover-opacity; + } +} +.carousel-control-prev { + left: 0; + background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null); +} +.carousel-control-next { + right: 0; + background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null); +} + +// Icons for within +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: $carousel-control-icon-width; + height: $carousel-control-icon-width; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.carousel-control-prev-icon { + background-image: escape-svg($carousel-control-prev-icon-bg); +} +.carousel-control-next-icon { + background-image: escape-svg($carousel-control-next-icon-bg); +} + +// Optional indicator pips/controls +// +// Add a container (such as a list) with the following class and add an item (ideally a focusable control, +// like a button) with data-bs-target for each slide your carousel holds. + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + // Use the .carousel-control's width as margin so we don't overlay those + margin-right: $carousel-control-width; + margin-bottom: 1rem; + margin-left: $carousel-control-width; + list-style: none; + + [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: $carousel-indicator-width; + height: $carousel-indicator-height; + padding: 0; + margin-right: $carousel-indicator-spacer; + margin-left: $carousel-indicator-spacer; + text-indent: -999px; + cursor: pointer; + background-color: $carousel-indicator-active-bg; + background-clip: padding-box; + border: 0; + // Use transparent borders to increase the hit area by 10px on top and bottom. + border-top: $carousel-indicator-hit-area-height solid transparent; + border-bottom: $carousel-indicator-hit-area-height solid transparent; + opacity: $carousel-indicator-opacity; + @include transition($carousel-indicator-transition); + } + + .active { + opacity: $carousel-indicator-active-opacity; + } +} + + +// Optional captions +// +// + +.carousel-caption { + position: absolute; + right: (100% - $carousel-caption-width) * .5; + bottom: $carousel-caption-spacer; + left: (100% - $carousel-caption-width) * .5; + padding-top: $carousel-caption-padding-y; + padding-bottom: $carousel-caption-padding-y; + color: $carousel-caption-color; + text-align: center; +} + +// Dark mode carousel + +.carousel-dark { + .carousel-control-prev-icon, + .carousel-control-next-icon { + filter: $carousel-dark-control-icon-filter; + } + + .carousel-indicators [data-bs-target] { + background-color: $carousel-dark-indicator-active-bg; + } + + .carousel-caption { + color: $carousel-dark-caption-color; + } +} diff --git a/styles/bootstrap/_close.scss b/styles/bootstrap/_close.scss new file mode 100644 index 0000000000000000000000000000000000000000..a0813de8d37b0ce3fc57b012c2db1c63fc2f677b --- /dev/null +++ b/styles/bootstrap/_close.scss @@ -0,0 +1,40 @@ +// Transparent background and border properties included for button version. +// iOS requires the button element instead of an anchor tag. +// If you want the anchor version, it requires `href="#"`. +// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + +.btn-close { + box-sizing: content-box; + width: $btn-close-width; + height: $btn-close-height; + padding: $btn-close-padding-y $btn-close-padding-x; + color: $btn-close-color; + background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements + border: 0; // for button elements + @include border-radius(); + opacity: $btn-close-opacity; + + // Override <a>'s hover style + &:hover { + color: $btn-close-color; + text-decoration: none; + opacity: $btn-close-hover-opacity; + } + + &:focus { + outline: 0; + box-shadow: $btn-close-focus-shadow; + opacity: $btn-close-focus-opacity; + } + + &:disabled, + &.disabled { + pointer-events: none; + user-select: none; + opacity: $btn-close-disabled-opacity; + } +} + +.btn-close-white { + filter: $btn-close-white-filter; +} diff --git a/styles/bootstrap/_containers.scss b/styles/bootstrap/_containers.scss new file mode 100644 index 0000000000000000000000000000000000000000..83b31381bf890707a29db97319c554d90b023c32 --- /dev/null +++ b/styles/bootstrap/_containers.scss @@ -0,0 +1,41 @@ +// Container widths +// +// Set the container width, and override it for fixed navbars in media queries. + +@if $enable-container-classes { + // Single container class with breakpoint max-widths + .container, + // 100% wide container at all breakpoints + .container-fluid { + @include make-container(); + } + + // Responsive containers that are 100% wide until a breakpoint + @each $breakpoint, $container-max-width in $container-max-widths { + .container-#{$breakpoint} { + @extend .container-fluid; + } + + @include media-breakpoint-up($breakpoint, $grid-breakpoints) { + %responsive-container-#{$breakpoint} { + max-width: $container-max-width; + } + + // Extend each breakpoint which is smaller or equal to the current breakpoint + $extend-breakpoint: true; + + @each $name, $width in $grid-breakpoints { + @if ($extend-breakpoint) { + .container#{breakpoint-infix($name, $grid-breakpoints)} { + @extend %responsive-container-#{$breakpoint}; + } + + // Once the current breakpoint is reached, stop extending + @if ($breakpoint == $name) { + $extend-breakpoint: false; + } + } + } + } + } +} diff --git a/styles/bootstrap/_dropdown.scss b/styles/bootstrap/_dropdown.scss new file mode 100644 index 0000000000000000000000000000000000000000..8899d25a0d2329016381fca6477f65de011f5cb2 --- /dev/null +++ b/styles/bootstrap/_dropdown.scss @@ -0,0 +1,249 @@ +// The dropdown wrapper (`<div>`) +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; + + // Generate the caret automatically + @include caret(); +} + +// The dropdown menu +.dropdown-menu { + // scss-docs-start dropdown-css-vars + --#{$prefix}dropdown-zindex: #{$zindex-dropdown}; + --#{$prefix}dropdown-min-width: #{$dropdown-min-width}; + --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x}; + --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y}; + --#{$prefix}dropdown-spacer: #{$dropdown-spacer}; + @include rfs($dropdown-font-size, --#{$prefix}dropdown-font-size); + --#{$prefix}dropdown-color: #{$dropdown-color}; + --#{$prefix}dropdown-bg: #{$dropdown-bg}; + --#{$prefix}dropdown-border-color: #{$dropdown-border-color}; + --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius}; + --#{$prefix}dropdown-border-width: #{$dropdown-border-width}; + --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius}; + --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg}; + --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y}; + --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow}; + --#{$prefix}dropdown-link-color: #{$dropdown-link-color}; + --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color}; + --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg}; + --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color}; + --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg}; + --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color}; + --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x}; + --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y}; + --#{$prefix}dropdown-header-color: #{$dropdown-header-color}; + --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x}; + --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y}; + // scss-docs-end dropdown-css-vars + + position: absolute; + z-index: var(--#{$prefix}dropdown-zindex); + display: none; // none by default, but block on "open" of the menu + min-width: var(--#{$prefix}dropdown-min-width); + padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x); + margin: 0; // Override default margin of ul + @include font-size(var(--#{$prefix}dropdown-font-size)); + color: var(--#{$prefix}dropdown-color); + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + list-style: none; + background-color: var(--#{$prefix}dropdown-bg); + background-clip: padding-box; + border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color); + @include border-radius(var(--#{$prefix}dropdown-border-radius)); + @include box-shadow(var(--#{$prefix}dropdown-box-shadow)); + + &[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--#{$prefix}dropdown-spacer); + } + + @if $dropdown-padding-y == 0 { + > .dropdown-item:first-child, + > li:first-child .dropdown-item { + @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius)); + } + > .dropdown-item:last-child, + > li:last-child .dropdown-item { + @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius)); + } + + } +} + +// scss-docs-start responsive-breakpoints +// We deliberately hardcode the `bs-` prefix because we check +// this custom property in JS to determine Popper's positioning + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .dropdown-menu#{$infix}-start { + --bs-position: start; + + &[data-bs-popper] { + right: auto; + left: 0; + } + } + + .dropdown-menu#{$infix}-end { + --bs-position: end; + + &[data-bs-popper] { + right: 0; + left: auto; + } + } + } +} +// scss-docs-end responsive-breakpoints + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// Just add .dropup after the standard .dropdown class and you're set. +.dropup { + .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--#{$prefix}dropdown-spacer); + } + + .dropdown-toggle { + @include caret(up); + } +} + +.dropend { + .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--#{$prefix}dropdown-spacer); + } + + .dropdown-toggle { + @include caret(end); + &::after { + vertical-align: 0; + } + } +} + +.dropstart { + .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--#{$prefix}dropdown-spacer); + } + + .dropdown-toggle { + @include caret(start); + &::before { + vertical-align: 0; + } + } +} + + +// Dividers (basically an `<hr>`) within the dropdown +.dropdown-divider { + height: 0; + margin: var(--#{$prefix}dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--#{$prefix}dropdown-divider-bg); + opacity: 1; // Revisit in v6 to de-dupe styles that conflict with <hr> element +} + +// Links, buttons, and more within the dropdown menu +// +// `<button>`-specific styles are denoted with `// For <button>s` +.dropdown-item { + display: block; + width: 100%; // For `<button>`s + padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x); + clear: both; + font-weight: $font-weight-normal; + color: var(--#{$prefix}dropdown-link-color); + text-align: inherit; // For `<button>`s + text-decoration: if($link-decoration == none, null, none); + white-space: nowrap; // prevent links from randomly breaking onto new lines + background-color: transparent; // For `<button>`s + border: 0; // For `<button>`s + + &:hover, + &:focus { + color: var(--#{$prefix}dropdown-link-hover-color); + text-decoration: if($link-hover-decoration == underline, none, null); + @include gradient-bg(var(--#{$prefix}dropdown-link-hover-bg)); + } + + &.active, + &:active { + color: var(--#{$prefix}dropdown-link-active-color); + text-decoration: none; + @include gradient-bg(var(--#{$prefix}dropdown-link-active-bg)); + } + + &.disabled, + &:disabled { + color: var(--#{$prefix}dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; + // Remove CSS gradients if they're enabled + background-image: if($enable-gradients, none, null); + } +} + +.dropdown-menu.show { + display: block; +} + +// Dropdown section headers +.dropdown-header { + display: block; + padding: var(--#{$prefix}dropdown-header-padding-y) var(--#{$prefix}dropdown-header-padding-x); + margin-bottom: 0; // for use with heading elements + @include font-size($font-size-sm); + color: var(--#{$prefix}dropdown-header-color); + white-space: nowrap; // as with > li > a +} + +// Dropdown text +.dropdown-item-text { + display: block; + padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x); + color: var(--#{$prefix}dropdown-link-color); +} + +// Dark dropdowns +.dropdown-menu-dark { + // scss-docs-start dropdown-dark-css-vars + --#{$prefix}dropdown-color: #{$dropdown-dark-color}; + --#{$prefix}dropdown-bg: #{$dropdown-dark-bg}; + --#{$prefix}dropdown-border-color: #{$dropdown-dark-border-color}; + --#{$prefix}dropdown-box-shadow: #{$dropdown-dark-box-shadow}; + --#{$prefix}dropdown-link-color: #{$dropdown-dark-link-color}; + --#{$prefix}dropdown-link-hover-color: #{$dropdown-dark-link-hover-color}; + --#{$prefix}dropdown-divider-bg: #{$dropdown-dark-divider-bg}; + --#{$prefix}dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg}; + --#{$prefix}dropdown-link-active-color: #{$dropdown-dark-link-active-color}; + --#{$prefix}dropdown-link-active-bg: #{$dropdown-dark-link-active-bg}; + --#{$prefix}dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color}; + --#{$prefix}dropdown-header-color: #{$dropdown-dark-header-color}; + // scss-docs-end dropdown-dark-css-vars +} diff --git a/styles/bootstrap/_forms.scss b/styles/bootstrap/_forms.scss new file mode 100644 index 0000000000000000000000000000000000000000..7b17d849ac0f6f8aab561e4c54065c3180941658 --- /dev/null +++ b/styles/bootstrap/_forms.scss @@ -0,0 +1,9 @@ +@import "forms/labels"; +@import "forms/form-text"; +@import "forms/form-control"; +@import "forms/form-select"; +@import "forms/form-check"; +@import "forms/form-range"; +@import "forms/floating-labels"; +@import "forms/input-group"; +@import "forms/validation"; diff --git a/styles/bootstrap/_functions.scss b/styles/bootstrap/_functions.scss new file mode 100644 index 0000000000000000000000000000000000000000..26c953bae21003c2f4f4f7b396635d40abebbd55 --- /dev/null +++ b/styles/bootstrap/_functions.scss @@ -0,0 +1,302 @@ +// Bootstrap functions +// +// Utility mixins and functions for evaluating source code across our variables, maps, and mixins. + +// Ascending +// Used to evaluate Sass maps like our grid breakpoints. +@mixin _assert-ascending($map, $map-name) { + $prev-key: null; + $prev-num: null; + @each $key, $num in $map { + @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" { + // Do nothing + } @else if not comparable($prev-num, $num) { + @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !"; + } @else if $prev-num >= $num { + @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !"; + } + $prev-key: $key; + $prev-num: $num; + } +} + +// Starts at zero +// Used to ensure the min-width of the lowest breakpoint starts at 0. +@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") { + @if length($map) > 0 { + $values: map-values($map); + $first-value: nth($values, 1); + @if $first-value != 0 { + @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}."; + } + } +} + +// Colors +@function to-rgb($value) { + @return red($value), green($value), blue($value); +} + +// stylelint-disable scss/dollar-variable-pattern +@function rgba-css-var($identifier, $target) { + @if $identifier == "body" and $target == "bg" { + @return rgba(var(--#{$prefix}#{$identifier}-bg-rgb), var(--#{$prefix}#{$target}-opacity)); + } @if $identifier == "body" and $target == "text" { + @return rgba(var(--#{$prefix}#{$identifier}-color-rgb), var(--#{$prefix}#{$target}-opacity)); + } @else { + @return rgba(var(--#{$prefix}#{$identifier}-rgb), var(--#{$prefix}#{$target}-opacity)); + } +} + +@function map-loop($map, $func, $args...) { + $_map: (); + + @each $key, $value in $map { + // allow to pass the $key and $value of the map as an function argument + $_args: (); + @each $arg in $args { + $_args: append($_args, if($arg == "$key", $key, if($arg == "$value", $value, $arg))); + } + + $_map: map-merge($_map, ($key: call(get-function($func), $_args...))); + } + + @return $_map; +} +// stylelint-enable scss/dollar-variable-pattern + +@function varify($list) { + $result: null; + @each $entry in $list { + $result: append($result, var(--#{$prefix}#{$entry}), space); + } + @return $result; +} + +// Internal Bootstrap function to turn maps into its negative variant. +// It prefixes the keys with `n` and makes the value negative. +@function negativify-map($map) { + $result: (); + @each $key, $value in $map { + @if $key != 0 { + $result: map-merge($result, ("n" + $key: (-$value))); + } + } + @return $result; +} + +// Get multiple keys from a sass map +@function map-get-multiple($map, $values) { + $result: (); + @each $key, $value in $map { + @if (index($values, $key) != null) { + $result: map-merge($result, ($key: $value)); + } + } + @return $result; +} + +// Merge multiple maps +@function map-merge-multiple($maps...) { + $merged-maps: (); + + @each $map in $maps { + $merged-maps: map-merge($merged-maps, $map); + } + @return $merged-maps; +} + +// Replace `$search` with `$replace` in `$string` +// Used on our SVG icon backgrounds for custom forms. +// +// @author Kitty Giraudel +// @param {String} $string - Initial string +// @param {String} $search - Substring to replace +// @param {String} $replace ('') - New value +// @return {String} - Updated string +@function str-replace($string, $search, $replace: "") { + $index: str-index($string, $search); + + @if $index { + @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); + } + + @return $string; +} + +// See https://codepen.io/kevinweber/pen/dXWoRw +// +// Requires the use of quotes around data URIs. + +@function escape-svg($string) { + @if str-index($string, "data:image/svg+xml") { + @each $char, $encoded in $escaped-characters { + // Do not escape the url brackets + @if str-index($string, "url(") == 1 { + $string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}"); + } @else { + $string: str-replace($string, $char, $encoded); + } + } + } + + @return $string; +} + +// Color contrast +// See https://github.com/twbs/bootstrap/pull/30168 + +// A list of pre-calculated numbers of pow(divide((divide($value, 255) + .055), 1.055), 2.4). (from 0 to 255) +// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern +$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1; + +@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) { + $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black; + $max-ratio: 0; + $max-ratio-color: null; + + @each $color in $foregrounds { + $contrast-ratio: contrast-ratio($background, $color); + @if $contrast-ratio > $min-contrast-ratio { + @return $color; + } @else if $contrast-ratio > $max-ratio { + $max-ratio: $contrast-ratio; + $max-ratio-color: $color; + } + } + + @warn "Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}..."; + + @return $max-ratio-color; +} + +@function contrast-ratio($background, $foreground: $color-contrast-light) { + $l1: luminance($background); + $l2: luminance(opaque($background, $foreground)); + + @return if($l1 > $l2, divide($l1 + .05, $l2 + .05), divide($l2 + .05, $l1 + .05)); +} + +// Return WCAG2.1 relative luminance +// See https://www.w3.org/TR/WCAG/#dfn-relative-luminance +// See https://www.w3.org/TR/WCAG/#dfn-contrast-ratio +@function luminance($color) { + $rgb: ( + "r": red($color), + "g": green($color), + "b": blue($color) + ); + + @each $name, $value in $rgb { + $value: if(divide($value, 255) < .03928, divide(divide($value, 255), 12.92), nth($_luminance-list, $value + 1)); + $rgb: map-merge($rgb, ($name: $value)); + } + + @return (map-get($rgb, "r") * .2126) + (map-get($rgb, "g") * .7152) + (map-get($rgb, "b") * .0722); +} + +// Return opaque color +// opaque(#fff, rgba(0, 0, 0, .5)) => #808080 +@function opaque($background, $foreground) { + @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100%); +} + +// scss-docs-start color-functions +// Tint a color: mix a color with white +@function tint-color($color, $weight) { + @return mix(white, $color, $weight); +} + +// Shade a color: mix a color with black +@function shade-color($color, $weight) { + @return mix(black, $color, $weight); +} + +// Shade the color if the weight is positive, else tint it +@function shift-color($color, $weight) { + @return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight)); +} +// scss-docs-end color-functions + +// Return valid calc +@function add($value1, $value2, $return-calc: true) { + @if $value1 == null { + @return $value2; + } + + @if $value2 == null { + @return $value1; + } + + @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { + @return $value1 + $value2; + } + + @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2); +} + +@function subtract($value1, $value2, $return-calc: true) { + @if $value1 == null and $value2 == null { + @return null; + } + + @if $value1 == null { + @return -$value2; + } + + @if $value2 == null { + @return $value1; + } + + @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { + @return $value1 - $value2; + } + + @if type-of($value2) != number { + $value2: unquote("(") + $value2 + unquote(")"); + } + + @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2); +} + +@function divide($dividend, $divisor, $precision: 10) { + $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1); + $dividend: abs($dividend); + $divisor: abs($divisor); + @if $dividend == 0 { + @return 0; + } + @if $divisor == 0 { + @error "Cannot divide by 0"; + } + $remainder: $dividend; + $result: 0; + $factor: 10; + @while ($remainder > 0 and $precision >= 0) { + $quotient: 0; + @while ($remainder >= $divisor) { + $remainder: $remainder - $divisor; + $quotient: $quotient + 1; + } + $result: $result * 10 + $quotient; + $factor: $factor * .1; + $remainder: $remainder * 10; + $precision: $precision - 1; + @if ($precision < 0 and $remainder >= $divisor * 5) { + $result: $result + 1; + } + } + $result: $result * $factor * $sign; + $dividend-unit: unit($dividend); + $divisor-unit: unit($divisor); + $unit-map: ( + "px": 1px, + "rem": 1rem, + "em": 1em, + "%": 1% + ); + @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) { + $result: $result * map-get($unit-map, $dividend-unit); + } + @return $result; +} diff --git a/styles/bootstrap/_grid.scss b/styles/bootstrap/_grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..0e0ba210abf406aecfd4fa93c49f51cb0ad16318 --- /dev/null +++ b/styles/bootstrap/_grid.scss @@ -0,0 +1,33 @@ +// Row +// +// Rows contain your columns. + +@if $enable-grid-classes { + .row { + @include make-row(); + + > * { + @include make-col-ready(); + } + } +} + +@if $enable-cssgrid { + .grid { + display: grid; + grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr); + grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr); + gap: var(--#{$prefix}gap, #{$grid-gutter-width}); + + @include make-cssgrid(); + } +} + + +// Columns +// +// Common styles for small and large grid columns + +@if $enable-grid-classes { + @include make-grid-columns(); +} diff --git a/styles/bootstrap/_helpers.scss b/styles/bootstrap/_helpers.scss new file mode 100644 index 0000000000000000000000000000000000000000..644b693fbc9195622b1e56129c8b5e03d19b0e4c --- /dev/null +++ b/styles/bootstrap/_helpers.scss @@ -0,0 +1,10 @@ +@import "helpers/clearfix"; +@import "helpers/color-bg"; +@import "helpers/colored-links"; +@import "helpers/ratio"; +@import "helpers/position"; +@import "helpers/stacks"; +@import "helpers/visually-hidden"; +@import "helpers/stretched-link"; +@import "helpers/text-truncation"; +@import "helpers/vr"; diff --git a/styles/bootstrap/_images.scss b/styles/bootstrap/_images.scss new file mode 100644 index 0000000000000000000000000000000000000000..3d6a1014c431759f7f622025a3b9618d8880f472 --- /dev/null +++ b/styles/bootstrap/_images.scss @@ -0,0 +1,42 @@ +// Responsive images (ensure images don't scale beyond their parents) +// +// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s. +// We previously tried the "images are responsive by default" approach in Bootstrap v2, +// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps) +// which weren't expecting the images within themselves to be involuntarily resized. +// See also https://github.com/twbs/bootstrap/issues/18178 +.img-fluid { + @include img-fluid(); +} + + +// Image thumbnails +.img-thumbnail { + padding: $thumbnail-padding; + background-color: $thumbnail-bg; + border: $thumbnail-border-width solid $thumbnail-border-color; + @include border-radius($thumbnail-border-radius); + @include box-shadow($thumbnail-box-shadow); + + // Keep them at most 100% wide + @include img-fluid(); +} + +// +// Figures +// + +.figure { + // Ensures the caption's text aligns with the image. + display: inline-block; +} + +.figure-img { + margin-bottom: $spacer * .5; + line-height: 1; +} + +.figure-caption { + @include font-size($figure-caption-font-size); + color: $figure-caption-color; +} diff --git a/styles/bootstrap/_list-group.scss b/styles/bootstrap/_list-group.scss new file mode 100644 index 0000000000000000000000000000000000000000..c0ec16468d370a8933762491fdde7f51220f457b --- /dev/null +++ b/styles/bootstrap/_list-group.scss @@ -0,0 +1,192 @@ +// Base class +// +// Easily usable on <ul>, <ol>, or <div>. + +.list-group { + // scss-docs-start list-group-css-vars + --#{$prefix}list-group-color: #{$list-group-color}; + --#{$prefix}list-group-bg: #{$list-group-bg}; + --#{$prefix}list-group-border-color: #{$list-group-border-color}; + --#{$prefix}list-group-border-width: #{$list-group-border-width}; + --#{$prefix}list-group-border-radius: #{$list-group-border-radius}; + --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x}; + --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y}; + --#{$prefix}list-group-action-color: #{$list-group-action-color}; + --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color}; + --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg}; + --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color}; + --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg}; + --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color}; + --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg}; + --#{$prefix}list-group-active-color: #{$list-group-active-color}; + --#{$prefix}list-group-active-bg: #{$list-group-active-bg}; + --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color}; + // scss-docs-end list-group-css-vars + + display: flex; + flex-direction: column; + + // No need to set list-style: none; since .list-group-item is block level + padding-left: 0; // reset padding because ul and ol + margin-bottom: 0; + @include border-radius(var(--#{$prefix}list-group-border-radius)); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; + + > .list-group-item::before { + // Increments only this instance of the section counter + content: counters(section, ".") ". "; + counter-increment: section; + } +} + +// Interactive list items +// +// Use anchor or button elements instead of `li`s or `div`s to create interactive +// list items. Includes an extra `.active` modifier class for selected items. + +.list-group-item-action { + width: 100%; // For `<button>`s (anchors become 100% by default though) + color: var(--#{$prefix}list-group-action-color); + text-align: inherit; // For `<button>`s (anchors inherit) + + // Hover state + &:hover, + &:focus { + z-index: 1; // Place hover/focus items above their siblings for proper border styling + color: var(--#{$prefix}list-group-action-hover-color); + text-decoration: none; + background-color: var(--#{$prefix}list-group-action-hover-bg); + } + + &:active { + color: var(--#{$prefix}list-group-action-active-color); + background-color: var(--#{$prefix}list-group-action-active-bg); + } +} + +// Individual list items +// +// Use on `li`s or `div`s within the `.list-group` parent. + +.list-group-item { + position: relative; + display: block; + padding: var(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x); + color: var(--#{$prefix}list-group-color); + text-decoration: if($link-decoration == none, null, none); + background-color: var(--#{$prefix}list-group-bg); + border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}list-group-border-color); + + &:first-child { + @include border-top-radius(inherit); + } + + &:last-child { + @include border-bottom-radius(inherit); + } + + &.disabled, + &:disabled { + color: var(--#{$prefix}list-group-disabled-color); + pointer-events: none; + background-color: var(--#{$prefix}list-group-disabled-bg); + } + + // Include both here for `<a>`s and `<button>`s + &.active { + z-index: 2; // Place active items above their siblings for proper border styling + color: var(--#{$prefix}list-group-active-color); + background-color: var(--#{$prefix}list-group-active-bg); + border-color: var(--#{$prefix}list-group-active-border-color); + } + + // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector + & + .list-group-item { + border-top-width: 0; + + &.active { + margin-top: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list + border-top-width: var(--#{$prefix}list-group-border-width); + } + } +} + +// Horizontal +// +// Change the layout of list group items from vertical (default) to horizontal. + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .list-group-horizontal#{$infix} { + flex-direction: row; + + > .list-group-item { + &:first-child:not(:last-child) { + @include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius)); + @include border-top-end-radius(0); + } + + &:last-child:not(:first-child) { + @include border-top-end-radius(var(--#{$prefix}list-group-border-radius)); + @include border-bottom-start-radius(0); + } + + &.active { + margin-top: 0; + } + + + .list-group-item { + border-top-width: var(--#{$prefix}list-group-border-width); + border-left-width: 0; + + &.active { + margin-left: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list + border-left-width: var(--#{$prefix}list-group-border-width); + } + } + } + } + } +} + + +// Flush list items +// +// Remove borders and border-radius to keep list group items edge-to-edge. Most +// useful within other components (e.g., cards). + +.list-group-flush { + @include border-radius(0); + + > .list-group-item { + border-width: 0 0 var(--#{$prefix}list-group-border-width); + + &:last-child { + border-bottom-width: 0; + } + } +} + + +// scss-docs-start list-group-modifiers +// List group contextual variants +// +// Add modifier classes to change text and background color on individual items. +// Organizationally, this must come after the `:hover` states. + +@each $state, $value in $theme-colors { + $list-group-variant-bg: shift-color($value, $list-group-item-bg-scale); + $list-group-variant-color: shift-color($value, $list-group-item-color-scale); + @if (contrast-ratio($list-group-variant-bg, $list-group-variant-color) < $min-contrast-ratio) { + $list-group-variant-color: mix($value, color-contrast($list-group-variant-bg), abs($list-group-item-color-scale)); + } + + @include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color); +} +// scss-docs-end list-group-modifiers diff --git a/styles/bootstrap/_maps.scss b/styles/bootstrap/_maps.scss new file mode 100644 index 0000000000000000000000000000000000000000..2770a67615c7445dbdb1008deeffb2ae64d25096 --- /dev/null +++ b/styles/bootstrap/_maps.scss @@ -0,0 +1,54 @@ +// Re-assigned maps +// +// Placed here so that others can override the default Sass maps and see automatic updates to utilities and more. + +// scss-docs-start theme-colors-rgb +$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default; +// scss-docs-end theme-colors-rgb + +// Utilities maps +// +// Extends the default `$theme-colors` maps to help create our utilities. + +// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign. +// scss-docs-start utilities-colors +$utilities-colors: $theme-colors-rgb !default; +// scss-docs-end utilities-colors + +// scss-docs-start utilities-text-colors +$utilities-text: map-merge( + $utilities-colors, + ( + "black": to-rgb($black), + "white": to-rgb($white), + "body": to-rgb($body-color) + ) +) !default; +$utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default; +// scss-docs-end utilities-text-colors + +// scss-docs-start utilities-bg-colors +$utilities-bg: map-merge( + $utilities-colors, + ( + "black": to-rgb($black), + "white": to-rgb($white), + "body": to-rgb($body-bg) + ) +) !default; +$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default; +// scss-docs-end utilities-bg-colors + +// scss-docs-start utilities-border-colors +$utilities-border: map-merge( + $utilities-colors, + ( + "white": to-rgb($white) + ) +) !default; +$utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default; +// scss-docs-end utilities-border-colors + +$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default; + +$gutters: $spacers !default; diff --git a/styles/bootstrap/_mixins.scss b/styles/bootstrap/_mixins.scss new file mode 100644 index 0000000000000000000000000000000000000000..af1f74f72e9545823a16c97482b3ffa0be917a42 --- /dev/null +++ b/styles/bootstrap/_mixins.scss @@ -0,0 +1,43 @@ +// Toggles +// +// Used in conjunction with global variables to enable certain theme features. + +// Vendor +@import "vendor/rfs"; + +// Deprecate +@import "mixins/deprecate"; + +// Helpers +@import "mixins/breakpoints"; +@import "mixins/color-scheme"; +@import "mixins/image"; +@import "mixins/resize"; +@import "mixins/visually-hidden"; +@import "mixins/reset-text"; +@import "mixins/text-truncate"; + +// Utilities +@import "mixins/utilities"; + +// Components +@import "mixins/alert"; +@import "mixins/backdrop"; +@import "mixins/buttons"; +@import "mixins/caret"; +@import "mixins/pagination"; +@import "mixins/lists"; +@import "mixins/list-group"; +@import "mixins/forms"; +@import "mixins/table-variants"; + +// Skins +@import "mixins/border-radius"; +@import "mixins/box-shadow"; +@import "mixins/gradients"; +@import "mixins/transition"; + +// Layout +@import "mixins/clearfix"; +@import "mixins/container"; +@import "mixins/grid"; diff --git a/styles/bootstrap/_modal.scss b/styles/bootstrap/_modal.scss new file mode 100644 index 0000000000000000000000000000000000000000..5f1429fe4bfc1f42cc36ed13717fc5d74200f20f --- /dev/null +++ b/styles/bootstrap/_modal.scss @@ -0,0 +1,237 @@ +// stylelint-disable function-disallowed-list + +// .modal-open - body class for killing the scroll +// .modal - container to scroll within +// .modal-dialog - positioning shell for the actual modal +// .modal-content - actual modal w/ bg and corners and stuff + + +// Container that the modal scrolls within +.modal { + // scss-docs-start modal-css-vars + --#{$prefix}modal-zindex: #{$zindex-modal}; + --#{$prefix}modal-width: #{$modal-md}; + --#{$prefix}modal-padding: #{$modal-inner-padding}; + --#{$prefix}modal-margin: #{$modal-dialog-margin}; + --#{$prefix}modal-color: #{$modal-content-color}; + --#{$prefix}modal-bg: #{$modal-content-bg}; + --#{$prefix}modal-border-color: #{$modal-content-border-color}; + --#{$prefix}modal-border-width: #{$modal-content-border-width}; + --#{$prefix}modal-border-radius: #{$modal-content-border-radius}; + --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs}; + --#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius}; + --#{$prefix}modal-header-padding-x: #{$modal-header-padding-x}; + --#{$prefix}modal-header-padding-y: #{$modal-header-padding-y}; + --#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y + --#{$prefix}modal-header-border-color: #{$modal-header-border-color}; + --#{$prefix}modal-header-border-width: #{$modal-header-border-width}; + --#{$prefix}modal-title-line-height: #{$modal-title-line-height}; + --#{$prefix}modal-footer-gap: #{$modal-footer-margin-between}; + --#{$prefix}modal-footer-bg: #{$modal-footer-bg}; + --#{$prefix}modal-footer-border-color: #{$modal-footer-border-color}; + --#{$prefix}modal-footer-border-width: #{$modal-footer-border-width}; + // scss-docs-end modal-css-vars + + position: fixed; + top: 0; + left: 0; + z-index: var(--#{$prefix}modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + // Prevent Chrome on Windows from adding a focus outline. For details, see + // https://github.com/twbs/bootstrap/pull/10951. + outline: 0; + // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a + // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342 + // See also https://github.com/twbs/bootstrap/issues/17695 +} + +// Shell div to position the modal with bottom padding +.modal-dialog { + position: relative; + width: auto; + margin: var(--#{$prefix}modal-margin); + // allow clicks to pass through for custom click handling to close modal + pointer-events: none; + + // When fading in the modal, animate it to slide down + .modal.fade & { + @include transition($modal-transition); + transform: $modal-fade-transform; + } + .modal.show & { + transform: $modal-show-transform; + } + + // When trying to close, animate focus to scale + .modal.modal-static & { + transform: $modal-scale-transform; + } +} + +.modal-dialog-scrollable { + height: calc(100% - var(--#{$prefix}modal-margin) * 2); + + .modal-content { + max-height: 100%; + overflow: hidden; + } + + .modal-body { + overflow-y: auto; + } +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--#{$prefix}modal-margin) * 2); +} + +// Actual modal +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog` + // counteract the pointer-events: none; in the .modal-dialog + color: var(--#{$prefix}modal-color); + pointer-events: auto; + background-color: var(--#{$prefix}modal-bg); + background-clip: padding-box; + border: var(--#{$prefix}modal-border-width) solid var(--#{$prefix}modal-border-color); + @include border-radius(var(--#{$prefix}modal-border-radius)); + @include box-shadow(var(--#{$prefix}modal-box-shadow)); + // Remove focus outline from opened modal + outline: 0; +} + +// Modal background +.modal-backdrop { + // scss-docs-start modal-backdrop-css-vars + --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop}; + --#{$prefix}backdrop-bg: #{$modal-backdrop-bg}; + --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity}; + // scss-docs-end modal-backdrop-css-vars + + @include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity)); +} + +// Modal header +// Top section of the modal w/ title and dismiss +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends + padding: var(--#{$prefix}modal-header-padding); + border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color); + @include border-top-radius(var(--#{$prefix}modal-inner-border-radius)); + + .btn-close { + padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5); + margin: calc(-.5 * var(--#{$prefix}modal-header-padding-y)) calc(-.5 * var(--#{$prefix}modal-header-padding-x)) calc(-.5 * var(--#{$prefix}modal-header-padding-y)) auto; + } +} + +// Title text within header +.modal-title { + margin-bottom: 0; + line-height: var(--#{$prefix}modal-title-line-height); +} + +// Modal body +// Where all modal content resides (sibling of .modal-header and .modal-footer) +.modal-body { + position: relative; + // Enable `flex-grow: 1` so that the body take up as much space as possible + // when there should be a fixed height on `.modal-dialog`. + flex: 1 1 auto; + padding: var(--#{$prefix}modal-padding); +} + +// Footer (for actions) +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; // vertically center + justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items + padding: calc(var(--#{$prefix}modal-padding) - var(--#{$prefix}modal-footer-gap) * .5); + background-color: var(--#{$prefix}modal-footer-bg); + border-top: var(--#{$prefix}modal-footer-border-width) solid var(--#{$prefix}modal-footer-border-color); + @include border-bottom-radius(var(--#{$prefix}modal-inner-border-radius)); + + // Place margin between footer elements + // This solution is far from ideal because of the universal selector usage, + // but is needed to fix https://github.com/twbs/bootstrap/issues/24800 + > * { + margin: calc(var(--#{$prefix}modal-footer-gap) * .5); // Todo in v6: replace with gap on parent class + } +} + +// Scale up the modal +@include media-breakpoint-up(sm) { + .modal { + --#{$prefix}modal-margin: #{$modal-dialog-margin-y-sm-up}; + --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-sm-up}; + } + + // Automatically set modal's width for larger viewports + .modal-dialog { + max-width: var(--#{$prefix}modal-width); + margin-right: auto; + margin-left: auto; + } + + .modal-sm { + --#{$prefix}modal-width: #{$modal-sm}; + } +} + +@include media-breakpoint-up(lg) { + .modal-lg, + .modal-xl { + --#{$prefix}modal-width: #{$modal-lg}; + } +} + +@include media-breakpoint-up(xl) { + .modal-xl { + --#{$prefix}modal-width: #{$modal-xl}; + } +} + +// scss-docs-start modal-fullscreen-loop +@each $breakpoint in map-keys($grid-breakpoints) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + $postfix: if($infix != "", $infix + "-down", ""); + + @include media-breakpoint-down($breakpoint) { + .modal-fullscreen#{$postfix} { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + + .modal-content { + height: 100%; + border: 0; + @include border-radius(0); + } + + .modal-header, + .modal-footer { + @include border-radius(0); + } + + .modal-body { + overflow-y: auto; + } + } + } +} +// scss-docs-end modal-fullscreen-loop diff --git a/styles/bootstrap/_nav.scss b/styles/bootstrap/_nav.scss new file mode 100644 index 0000000000000000000000000000000000000000..9efc03bc8ff8654fef465ed6f527bfbeab7da93d --- /dev/null +++ b/styles/bootstrap/_nav.scss @@ -0,0 +1,172 @@ +// Base class +// +// Kickstart any navigation component with a set of style resets. Works with +// `<nav>`s, `<ul>`s or `<ol>`s. + +.nav { + // scss-docs-start nav-css-vars + --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x}; + --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y}; + @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size); + --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight}; + --#{$prefix}nav-link-color: #{$nav-link-color}; + --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color}; + --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color}; + // scss-docs-end nav-css-vars + + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x); + @include font-size(var(--#{$prefix}nav-link-font-size)); + font-weight: var(--#{$prefix}nav-link-font-weight); + color: var(--#{$prefix}nav-link-color); + text-decoration: if($link-decoration == none, null, none); + @include transition($nav-link-transition); + + &:hover, + &:focus { + color: var(--#{$prefix}nav-link-hover-color); + text-decoration: if($link-hover-decoration == underline, none, null); + } + + // Disabled state lightens text + &.disabled { + color: var(--#{$prefix}nav-link-disabled-color); + pointer-events: none; + cursor: default; + } +} + +// +// Tabs +// + +.nav-tabs { + // scss-docs-start nav-tabs-css-vars + --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width}; + --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color}; + --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius}; + --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color}; + --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color}; + --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg}; + --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color}; + // scss-docs-end nav-tabs-css-vars + + border-bottom: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color); + + .nav-link { + margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list + background: none; + border: var(--#{$prefix}nav-tabs-border-width) solid transparent; + @include border-top-radius(var(--#{$prefix}nav-tabs-border-radius)); + + &:hover, + &:focus { + // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link + isolation: isolate; + border-color: var(--#{$prefix}nav-tabs-link-hover-border-color); + } + + &.disabled, + &:disabled { + color: var(--#{$prefix}nav-link-disabled-color); + background-color: transparent; + border-color: transparent; + } + } + + .nav-link.active, + .nav-item.show .nav-link { + color: var(--#{$prefix}nav-tabs-link-active-color); + background-color: var(--#{$prefix}nav-tabs-link-active-bg); + border-color: var(--#{$prefix}nav-tabs-link-active-border-color); + } + + .dropdown-menu { + // Make dropdown border overlap tab border + margin-top: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list + // Remove the top rounded corners here since there is a hard edge above the menu + @include border-top-radius(0); + } +} + + +// +// Pills +// + +.nav-pills { + // scss-docs-start nav-pills-css-vars + --#{$prefix}nav-pills-border-radius: #{$nav-pills-border-radius}; + --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color}; + --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg}; + // scss-docs-end nav-pills-css-vars + + .nav-link { + background: none; + border: 0; + @include border-radius(var(--#{$prefix}nav-pills-border-radius)); + + &:disabled { + color: var(--#{$prefix}nav-link-disabled-color); + background-color: transparent; + border-color: transparent; + } + } + + .nav-link.active, + .show > .nav-link { + color: var(--#{$prefix}nav-pills-link-active-color); + @include gradient-bg(var(--#{$prefix}nav-pills-link-active-bg)); + } +} + + +// +// Justified variants +// + +.nav-fill { + > .nav-link, + .nav-item { + flex: 1 1 auto; + text-align: center; + } +} + +.nav-justified { + > .nav-link, + .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; + } +} + +.nav-fill, +.nav-justified { + .nav-item .nav-link { + width: 100%; // Make sure button will grow + } +} + + +// Tabbable tabs +// +// Hide tabbable panes to start, show them when `.active` + +.tab-content { + > .tab-pane { + display: none; + } + > .active { + display: block; + } +} diff --git a/styles/bootstrap/_navbar.scss b/styles/bootstrap/_navbar.scss new file mode 100644 index 0000000000000000000000000000000000000000..599b055ebca654b4e40cc70fb0870ab0cd1a8c48 --- /dev/null +++ b/styles/bootstrap/_navbar.scss @@ -0,0 +1,278 @@ +// Navbar +// +// Provide a static navbar from which we expand to create full-width, fixed, and +// other navbar variations. + +.navbar { + // scss-docs-start navbar-css-vars + --#{$prefix}navbar-padding-x: #{if($navbar-padding-x == null, 0, $navbar-padding-x)}; + --#{$prefix}navbar-padding-y: #{$navbar-padding-y}; + --#{$prefix}navbar-color: #{$navbar-light-color}; + --#{$prefix}navbar-hover-color: #{$navbar-light-hover-color}; + --#{$prefix}navbar-disabled-color: #{$navbar-light-disabled-color}; + --#{$prefix}navbar-active-color: #{$navbar-light-active-color}; + --#{$prefix}navbar-brand-padding-y: #{$navbar-brand-padding-y}; + --#{$prefix}navbar-brand-margin-end: #{$navbar-brand-margin-end}; + --#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size}; + --#{$prefix}navbar-brand-color: #{$navbar-light-brand-color}; + --#{$prefix}navbar-brand-hover-color: #{$navbar-light-brand-hover-color}; + --#{$prefix}navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x}; + --#{$prefix}navbar-toggler-padding-y: #{$navbar-toggler-padding-y}; + --#{$prefix}navbar-toggler-padding-x: #{$navbar-toggler-padding-x}; + --#{$prefix}navbar-toggler-font-size: #{$navbar-toggler-font-size}; + --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)}; + --#{$prefix}navbar-toggler-border-color: #{$navbar-light-toggler-border-color}; + --#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius}; + --#{$prefix}navbar-toggler-focus-width: #{$navbar-toggler-focus-width}; + --#{$prefix}navbar-toggler-transition: #{$navbar-toggler-transition}; + // scss-docs-end navbar-css-vars + + position: relative; + display: flex; + flex-wrap: wrap; // allow us to do the line break for collapsing content + align-items: center; + justify-content: space-between; // space out brand from logo + padding: var(--#{$prefix}navbar-padding-y) var(--#{$prefix}navbar-padding-x); + @include gradient-bg(); + + // Because flex properties aren't inherited, we need to redeclare these first + // few properties so that content nested within behave properly. + // The `flex-wrap` property is inherited to simplify the expanded navbars + %container-flex-properties { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; + } + + > .container, + > .container-fluid { + @extend %container-flex-properties; + } + + @each $breakpoint, $container-max-width in $container-max-widths { + > .container#{breakpoint-infix($breakpoint, $container-max-widths)} { + @extend %container-flex-properties; + } + } +} + + +// Navbar brand +// +// Used for brand, project, or site names. + +.navbar-brand { + padding-top: var(--#{$prefix}navbar-brand-padding-y); + padding-bottom: var(--#{$prefix}navbar-brand-padding-y); + margin-right: var(--#{$prefix}navbar-brand-margin-end); + @include font-size(var(--#{$prefix}navbar-brand-font-size)); + color: var(--#{$prefix}navbar-brand-color); + text-decoration: if($link-decoration == none, null, none); + white-space: nowrap; + + &:hover, + &:focus { + color: var(--#{$prefix}navbar-brand-hover-color); + text-decoration: if($link-hover-decoration == underline, none, null); + } +} + + +// Navbar nav +// +// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`). + +.navbar-nav { + // scss-docs-start navbar-nav-css-vars + --#{$prefix}nav-link-padding-x: 0; + --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y}; + @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size); + --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight}; + --#{$prefix}nav-link-color: var(--#{$prefix}navbar-color); + --#{$prefix}nav-link-hover-color: var(--#{$prefix}navbar-hover-color); + --#{$prefix}nav-link-disabled-color: var(--#{$prefix}navbar-disabled-color); + // scss-docs-end navbar-nav-css-vars + + display: flex; + flex-direction: column; // cannot use `inherit` to get the `.navbar`s value + padding-left: 0; + margin-bottom: 0; + list-style: none; + + .show > .nav-link, + .nav-link.active { + color: var(--#{$prefix}navbar-active-color); + } + + .dropdown-menu { + position: static; + } +} + + +// Navbar text +// +// + +.navbar-text { + padding-top: $nav-link-padding-y; + padding-bottom: $nav-link-padding-y; + color: var(--#{$prefix}navbar-color); + + a, + a:hover, + a:focus { + color: var(--#{$prefix}navbar-active-color); + } +} + + +// Responsive navbar +// +// Custom styles for responsive collapsing and toggling of navbar contents. +// Powered by the collapse Bootstrap JavaScript plugin. + +// When collapsed, prevent the toggleable navbar contents from appearing in +// the default flexbox row orientation. Requires the use of `flex-wrap: wrap` +// on the `.navbar` parent. +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + // For always expanded or extra full navbars, ensure content aligns itself + // properly vertically. Can be easily overridden with flex utilities. + align-items: center; +} + +// Button for toggling the navbar when in its collapsed state +.navbar-toggler { + padding: var(--#{$prefix}navbar-toggler-padding-y) var(--#{$prefix}navbar-toggler-padding-x); + @include font-size(var(--#{$prefix}navbar-toggler-font-size)); + line-height: 1; + color: var(--#{$prefix}navbar-color); + background-color: transparent; // remove default button style + border: var(--#{$prefix}border-width) solid var(--#{$prefix}navbar-toggler-border-color); // remove default button style + @include border-radius(var(--#{$prefix}navbar-toggler-border-radius)); + @include transition(var(--#{$prefix}navbar-toggler-transition)); + + &:hover { + text-decoration: none; + } + + &:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--#{$prefix}navbar-toggler-focus-width); + } +} + +// Keep as a separate element so folks can easily override it with another icon +// or image file as needed. +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--#{$prefix}navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--#{$prefix}scroll-height, 75vh); + overflow-y: auto; +} + +// scss-docs-start navbar-expand-loop +// Generate series of `.navbar-expand-*` responsive classes for configuring +// where your navbar collapses. +.navbar-expand { + @each $breakpoint in map-keys($grid-breakpoints) { + $next: breakpoint-next($breakpoint, $grid-breakpoints); + $infix: breakpoint-infix($next, $grid-breakpoints); + + // stylelint-disable-next-line scss/selector-no-union-class-name + &#{$infix} { + @include media-breakpoint-up($next) { + flex-wrap: nowrap; + justify-content: flex-start; + + .navbar-nav { + flex-direction: row; + + .dropdown-menu { + position: absolute; + } + + .nav-link { + padding-right: var(--#{$prefix}navbar-nav-link-padding-x); + padding-left: var(--#{$prefix}navbar-nav-link-padding-x); + } + } + + .navbar-nav-scroll { + overflow: visible; + } + + .navbar-collapse { + display: flex !important; // stylelint-disable-line declaration-no-important + flex-basis: auto; + } + + .navbar-toggler { + display: none; + } + + .offcanvas { + // stylelint-disable declaration-no-important + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + @include box-shadow(none); + @include transition(none); + // stylelint-enable declaration-no-important + + .offcanvas-header { + display: none; + } + + .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } + } + } + } + } +} +// scss-docs-end navbar-expand-loop + +// Navbar themes +// +// Styles for switching between navbars with light or dark background. + +.navbar-light { + @include deprecate("`.navbar-light`", "v5.2.0", "v6.0.0", true); +} + +.navbar-dark { + // scss-docs-start navbar-dark-css-vars + --#{$prefix}navbar-color: #{$navbar-dark-color}; + --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color}; + --#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color}; + --#{$prefix}navbar-active-color: #{$navbar-dark-active-color}; + --#{$prefix}navbar-brand-color: #{$navbar-dark-brand-color}; + --#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color}; + --#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color}; + --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)}; + // scss-docs-end navbar-dark-css-vars +} diff --git a/styles/bootstrap/_offcanvas.scss b/styles/bootstrap/_offcanvas.scss new file mode 100644 index 0000000000000000000000000000000000000000..23fc357f2bb6b7d86708da3dcfe760ef0abd4436 --- /dev/null +++ b/styles/bootstrap/_offcanvas.scss @@ -0,0 +1,144 @@ +// stylelint-disable function-disallowed-list + +%offcanvas-css-vars { + // scss-docs-start offcanvas-css-vars + --#{$prefix}offcanvas-zindex: #{$zindex-offcanvas}; + --#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width}; + --#{$prefix}offcanvas-height: #{$offcanvas-vertical-height}; + --#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x}; + --#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y}; + --#{$prefix}offcanvas-color: #{$offcanvas-color}; + --#{$prefix}offcanvas-bg: #{$offcanvas-bg-color}; + --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width}; + --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color}; + --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow}; + // scss-docs-end offcanvas-css-vars +} + +@each $breakpoint in map-keys($grid-breakpoints) { + $next: breakpoint-next($breakpoint, $grid-breakpoints); + $infix: breakpoint-infix($next, $grid-breakpoints); + + .offcanvas#{$infix} { + @extend %offcanvas-css-vars; + } +} + +@each $breakpoint in map-keys($grid-breakpoints) { + $next: breakpoint-next($breakpoint, $grid-breakpoints); + $infix: breakpoint-infix($next, $grid-breakpoints); + + .offcanvas#{$infix} { + @include media-breakpoint-down($next) { + position: fixed; + bottom: 0; + z-index: var(--#{$prefix}offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--#{$prefix}offcanvas-color); + visibility: hidden; + background-color: var(--#{$prefix}offcanvas-bg); + background-clip: padding-box; + outline: 0; + @include box-shadow(var(--#{$prefix}offcanvas-box-shadow)); + @include transition(transform $offcanvas-transition-duration ease-in-out); + + &.offcanvas-start { + top: 0; + left: 0; + width: var(--#{$prefix}offcanvas-width); + border-right: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color); + transform: translateX(-100%); + } + + &.offcanvas-end { + top: 0; + right: 0; + width: var(--#{$prefix}offcanvas-width); + border-left: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color); + transform: translateX(100%); + } + + &.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--#{$prefix}offcanvas-height); + max-height: 100%; + border-bottom: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color); + transform: translateY(-100%); + } + + &.offcanvas-bottom { + right: 0; + left: 0; + height: var(--#{$prefix}offcanvas-height); + max-height: 100%; + border-top: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color); + transform: translateY(100%); + } + + &.showing, + &.show:not(.hiding) { + transform: none; + } + + &.showing, + &.hiding, + &.show { + visibility: visible; + } + } + + @if not ($infix == "") { + @include media-breakpoint-up($next) { + --#{$prefix}offcanvas-height: auto; + --#{$prefix}offcanvas-border-width: 0; + background-color: transparent !important; // stylelint-disable-line declaration-no-important + + .offcanvas-header { + display: none; + } + + .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + // Reset `background-color` in case `.bg-*` classes are used in offcanvas + background-color: transparent !important; // stylelint-disable-line declaration-no-important + } + } + } + } +} + +.offcanvas-backdrop { + @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity); +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x); + + .btn-close { + padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5); + margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y)); + margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x)); + margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y)); + } +} + +.offcanvas-title { + margin-bottom: 0; + line-height: $offcanvas-title-line-height; +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x); + overflow-y: auto; +} diff --git a/styles/bootstrap/_pagination.scss b/styles/bootstrap/_pagination.scss new file mode 100644 index 0000000000000000000000000000000000000000..cf4db3c361bed489ea95080082e0fe3661948145 --- /dev/null +++ b/styles/bootstrap/_pagination.scss @@ -0,0 +1,109 @@ +.pagination { + // scss-docs-start pagination-css-vars + --#{$prefix}pagination-padding-x: #{$pagination-padding-x}; + --#{$prefix}pagination-padding-y: #{$pagination-padding-y}; + @include rfs($pagination-font-size, --#{$prefix}pagination-font-size); + --#{$prefix}pagination-color: #{$pagination-color}; + --#{$prefix}pagination-bg: #{$pagination-bg}; + --#{$prefix}pagination-border-width: #{$pagination-border-width}; + --#{$prefix}pagination-border-color: #{$pagination-border-color}; + --#{$prefix}pagination-border-radius: #{$pagination-border-radius}; + --#{$prefix}pagination-hover-color: #{$pagination-hover-color}; + --#{$prefix}pagination-hover-bg: #{$pagination-hover-bg}; + --#{$prefix}pagination-hover-border-color: #{$pagination-hover-border-color}; + --#{$prefix}pagination-focus-color: #{$pagination-focus-color}; + --#{$prefix}pagination-focus-bg: #{$pagination-focus-bg}; + --#{$prefix}pagination-focus-box-shadow: #{$pagination-focus-box-shadow}; + --#{$prefix}pagination-active-color: #{$pagination-active-color}; + --#{$prefix}pagination-active-bg: #{$pagination-active-bg}; + --#{$prefix}pagination-active-border-color: #{$pagination-active-border-color}; + --#{$prefix}pagination-disabled-color: #{$pagination-disabled-color}; + --#{$prefix}pagination-disabled-bg: #{$pagination-disabled-bg}; + --#{$prefix}pagination-disabled-border-color: #{$pagination-disabled-border-color}; + // scss-docs-end pagination-css-vars + + display: flex; + @include list-unstyled(); +} + +.page-link { + position: relative; + display: block; + padding: var(--#{$prefix}pagination-padding-y) var(--#{$prefix}pagination-padding-x); + @include font-size(var(--#{$prefix}pagination-font-size)); + color: var(--#{$prefix}pagination-color); + text-decoration: if($link-decoration == none, null, none); + background-color: var(--#{$prefix}pagination-bg); + border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color); + @include transition($pagination-transition); + + &:hover { + z-index: 2; + color: var(--#{$prefix}pagination-hover-color); + text-decoration: if($link-hover-decoration == underline, none, null); + background-color: var(--#{$prefix}pagination-hover-bg); + border-color: var(--#{$prefix}pagination-hover-border-color); + } + + &:focus { + z-index: 3; + color: var(--#{$prefix}pagination-focus-color); + background-color: var(--#{$prefix}pagination-focus-bg); + outline: $pagination-focus-outline; + box-shadow: var(--#{$prefix}pagination-focus-box-shadow); + } + + &.active, + .active > & { + z-index: 3; + color: var(--#{$prefix}pagination-active-color); + @include gradient-bg(var(--#{$prefix}pagination-active-bg)); + border-color: var(--#{$prefix}pagination-active-border-color); + } + + &.disabled, + .disabled > & { + color: var(--#{$prefix}pagination-disabled-color); + pointer-events: none; + background-color: var(--#{$prefix}pagination-disabled-bg); + border-color: var(--#{$prefix}pagination-disabled-border-color); + } +} + +.page-item { + &:not(:first-child) .page-link { + margin-left: $pagination-margin-start; + } + + @if $pagination-margin-start == ($pagination-border-width * -1) { + &:first-child { + .page-link { + @include border-start-radius(var(--#{$prefix}pagination-border-radius)); + } + } + + &:last-child { + .page-link { + @include border-end-radius(var(--#{$prefix}pagination-border-radius)); + } + } + } @else { + // Add border-radius to all pageLinks in case they have left margin + .page-link { + @include border-radius(var(--#{$prefix}pagination-border-radius)); + } + } +} + + +// +// Sizing +// + +.pagination-lg { + @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg); +} + +.pagination-sm { + @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm); +} diff --git a/styles/bootstrap/_placeholders.scss b/styles/bootstrap/_placeholders.scss new file mode 100644 index 0000000000000000000000000000000000000000..6e32e1cdb9b143cacbc44888700d3bdba447f3f1 --- /dev/null +++ b/styles/bootstrap/_placeholders.scss @@ -0,0 +1,51 @@ +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: $placeholder-opacity-max; + + &.btn::before { + display: inline-block; + content: ""; + } +} + +// Sizing +.placeholder-xs { + min-height: .6em; +} + +.placeholder-sm { + min-height: .8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +// Animation +.placeholder-glow { + .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; + } +} + +@keyframes placeholder-glow { + 50% { + opacity: $placeholder-opacity-min; + } +} + +.placeholder-wave { + mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%); + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + mask-position: -200% 0%; + } +} diff --git a/styles/bootstrap/_popover.scss b/styles/bootstrap/_popover.scss new file mode 100644 index 0000000000000000000000000000000000000000..7b69f62328f2f7b274f6715b6ee1e93e2d84e0cd --- /dev/null +++ b/styles/bootstrap/_popover.scss @@ -0,0 +1,196 @@ +.popover { + // scss-docs-start popover-css-vars + --#{$prefix}popover-zindex: #{$zindex-popover}; + --#{$prefix}popover-max-width: #{$popover-max-width}; + @include rfs($popover-font-size, --#{$prefix}popover-font-size); + --#{$prefix}popover-bg: #{$popover-bg}; + --#{$prefix}popover-border-width: #{$popover-border-width}; + --#{$prefix}popover-border-color: #{$popover-border-color}; + --#{$prefix}popover-border-radius: #{$popover-border-radius}; + --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius}; + --#{$prefix}popover-box-shadow: #{$popover-box-shadow}; + --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x}; + --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y}; + @include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size); + --#{$prefix}popover-header-color: #{$popover-header-color}; + --#{$prefix}popover-header-bg: #{$popover-header-bg}; + --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x}; + --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y}; + --#{$prefix}popover-body-color: #{$popover-body-color}; + --#{$prefix}popover-arrow-width: #{$popover-arrow-width}; + --#{$prefix}popover-arrow-height: #{$popover-arrow-height}; + --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color); + // scss-docs-end popover-css-vars + + z-index: var(--#{$prefix}popover-zindex); + display: block; + max-width: var(--#{$prefix}popover-max-width); + // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + @include reset-text(); + @include font-size(var(--#{$prefix}popover-font-size)); + // Allow breaking very long words so they don't overflow the popover's bounds + word-wrap: break-word; + background-color: var(--#{$prefix}popover-bg); + background-clip: padding-box; + border: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color); + @include border-radius(var(--#{$prefix}popover-border-radius)); + @include box-shadow(var(--#{$prefix}popover-box-shadow)); + + .popover-arrow { + display: block; + width: var(--#{$prefix}popover-arrow-width); + height: var(--#{$prefix}popover-arrow-height); + + &::before, + &::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; + } + } +} + +.bs-popover-top { + > .popover-arrow { + bottom: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list + + &::before, + &::after { + border-width: var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list + } + + &::before { + bottom: 0; + border-top-color: var(--#{$prefix}popover-arrow-border); + } + + &::after { + bottom: var(--#{$prefix}popover-border-width); + border-top-color: var(--#{$prefix}popover-bg); + } + } +} + +/* rtl:begin:ignore */ +.bs-popover-end { + > .popover-arrow { + left: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list + width: var(--#{$prefix}popover-arrow-height); + height: var(--#{$prefix}popover-arrow-width); + + &::before, + &::after { + border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list + } + + &::before { + left: 0; + border-right-color: var(--#{$prefix}popover-arrow-border); + } + + &::after { + left: var(--#{$prefix}popover-border-width); + border-right-color: var(--#{$prefix}popover-bg); + } + } +} + +/* rtl:end:ignore */ + +.bs-popover-bottom { + > .popover-arrow { + top: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list + + &::before, + &::after { + border-width: 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height); // stylelint-disable-line function-disallowed-list + } + + &::before { + top: 0; + border-bottom-color: var(--#{$prefix}popover-arrow-border); + } + + &::after { + top: var(--#{$prefix}popover-border-width); + border-bottom-color: var(--#{$prefix}popover-bg); + } + } + + // This will remove the popover-header's border just below the arrow + .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--#{$prefix}popover-arrow-width); + margin-left: calc(-.5 * var(--#{$prefix}popover-arrow-width)); // stylelint-disable-line function-disallowed-list + content: ""; + border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg); + } +} + +/* rtl:begin:ignore */ +.bs-popover-start { + > .popover-arrow { + right: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list + width: var(--#{$prefix}popover-arrow-height); + height: var(--#{$prefix}popover-arrow-width); + + &::before, + &::after { + border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height); // stylelint-disable-line function-disallowed-list + } + + &::before { + right: 0; + border-left-color: var(--#{$prefix}popover-arrow-border); + } + + &::after { + right: var(--#{$prefix}popover-border-width); + border-left-color: var(--#{$prefix}popover-bg); + } + } +} + +/* rtl:end:ignore */ + +.bs-popover-auto { + &[data-popper-placement^="top"] { + @extend .bs-popover-top; + } + &[data-popper-placement^="right"] { + @extend .bs-popover-end; + } + &[data-popper-placement^="bottom"] { + @extend .bs-popover-bottom; + } + &[data-popper-placement^="left"] { + @extend .bs-popover-start; + } +} + +// Offset the popover to account for the popover arrow +.popover-header { + padding: var(--#{$prefix}popover-header-padding-y) var(--#{$prefix}popover-header-padding-x); + margin-bottom: 0; // Reset the default from Reboot + @include font-size(var(--#{$prefix}popover-header-font-size)); + color: var(--#{$prefix}popover-header-color); + background-color: var(--#{$prefix}popover-header-bg); + border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color); + @include border-top-radius(var(--#{$prefix}popover-inner-border-radius)); + + &:empty { + display: none; + } +} + +.popover-body { + padding: var(--#{$prefix}popover-body-padding-y) var(--#{$prefix}popover-body-padding-x); + color: var(--#{$prefix}popover-body-color); +} diff --git a/styles/bootstrap/_progress.scss b/styles/bootstrap/_progress.scss new file mode 100644 index 0000000000000000000000000000000000000000..1bfafb58fa44b26d256089e0c46f4daeb43f99ef --- /dev/null +++ b/styles/bootstrap/_progress.scss @@ -0,0 +1,59 @@ +// Disable animation if transitions are disabled + +// scss-docs-start progress-keyframes +@if $enable-transitions { + @keyframes progress-bar-stripes { + 0% { background-position-x: $progress-height; } + } +} +// scss-docs-end progress-keyframes + +.progress { + // scss-docs-start progress-css-vars + --#{$prefix}progress-height: #{$progress-height}; + @include rfs($progress-font-size, --#{$prefix}progress-font-size); + --#{$prefix}progress-bg: #{$progress-bg}; + --#{$prefix}progress-border-radius: #{$progress-border-radius}; + --#{$prefix}progress-box-shadow: #{$progress-box-shadow}; + --#{$prefix}progress-bar-color: #{$progress-bar-color}; + --#{$prefix}progress-bar-bg: #{$progress-bar-bg}; + --#{$prefix}progress-bar-transition: #{$progress-bar-transition}; + // scss-docs-end progress-css-vars + + display: flex; + height: var(--#{$prefix}progress-height); + overflow: hidden; // force rounded corners by cropping it + @include font-size(var(--#{$prefix}progress-font-size)); + background-color: var(--#{$prefix}progress-bg); + @include border-radius(var(--#{$prefix}progress-border-radius)); + @include box-shadow(var(--#{$prefix}progress-box-shadow)); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--#{$prefix}progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--#{$prefix}progress-bar-bg); + @include transition(var(--#{$prefix}progress-bar-transition)); +} + +.progress-bar-striped { + @include gradient-striped(); + background-size: var(--#{$prefix}progress-height) var(--#{$prefix}progress-height); +} + +@if $enable-transitions { + .progress-bar-animated { + animation: $progress-bar-animation-timing progress-bar-stripes; + + @if $enable-reduced-motion { + @media (prefers-reduced-motion: reduce) { + animation: none; + } + } + } +} diff --git a/styles/bootstrap/_reboot.scss b/styles/bootstrap/_reboot.scss new file mode 100644 index 0000000000000000000000000000000000000000..8ac790399feed879ab78bd2515347c1191a9eba7 --- /dev/null +++ b/styles/bootstrap/_reboot.scss @@ -0,0 +1,610 @@ +// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix + + +// Reboot +// +// Normalization of HTML elements, manually forked from Normalize.css to remove +// styles targeting irrelevant browsers while applying new styles. +// +// Normalize is licensed MIT. https://github.com/necolas/normalize.css + + +// Document +// +// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`. + +*, +*::before, +*::after { + box-sizing: border-box; +} + + +// Root +// +// Ability to the value of the root font sizes, affecting the value of `rem`. +// null by default, thus nothing is generated. + +:root { + @if $font-size-root != null { + @include font-size(var(--#{$prefix}root-font-size)); + } + + @if $enable-smooth-scroll { + @media (prefers-reduced-motion: no-preference) { + scroll-behavior: smooth; + } + } +} + + +// Body +// +// 1. Remove the margin in all browsers. +// 2. As a best practice, apply a default `background-color`. +// 3. Prevent adjustments of font size after orientation changes in iOS. +// 4. Change the default tap highlight to be completely transparent in iOS. + +// scss-docs-start reboot-body-rules +body { + margin: 0; // 1 + font-family: var(--#{$prefix}body-font-family); + @include font-size(var(--#{$prefix}body-font-size)); + font-weight: var(--#{$prefix}body-font-weight); + line-height: var(--#{$prefix}body-line-height); + color: var(--#{$prefix}body-color); + text-align: var(--#{$prefix}body-text-align); + background-color: var(--#{$prefix}body-bg); // 2 + -webkit-text-size-adjust: 100%; // 3 + -webkit-tap-highlight-color: rgba($black, 0); // 4 +} +// scss-docs-end reboot-body-rules + + +// Content grouping +// +// 1. Reset Firefox's gray color + +hr { + margin: $hr-margin-y 0; + color: $hr-color; // 1 + border: 0; + border-top: $hr-border-width solid $hr-border-color; + opacity: $hr-opacity; +} + + +// Typography +// +// 1. Remove top margins from headings +// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top +// margin for easier control within type scales as it avoids margin collapsing. + +%heading { + margin-top: 0; // 1 + margin-bottom: $headings-margin-bottom; + font-family: $headings-font-family; + font-style: $headings-font-style; + font-weight: $headings-font-weight; + line-height: $headings-line-height; + color: $headings-color; +} + +h1 { + @extend %heading; + @include font-size($h1-font-size); +} + +h2 { + @extend %heading; + @include font-size($h2-font-size); +} + +h3 { + @extend %heading; + @include font-size($h3-font-size); +} + +h4 { + @extend %heading; + @include font-size($h4-font-size); +} + +h5 { + @extend %heading; + @include font-size($h5-font-size); +} + +h6 { + @extend %heading; + @include font-size($h6-font-size); +} + + +// Reset margins on paragraphs +// +// Similarly, the top margin on `<p>`s get reset. However, we also reset the +// bottom margin to use `rem` units instead of `em`. + +p { + margin-top: 0; + margin-bottom: $paragraph-margin-bottom; +} + + +// Abbreviations +// +// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari. +// 2. Add explicit cursor to indicate changed behavior. +// 3. Prevent the text-decoration to be skipped. + +abbr[title] { + text-decoration: underline dotted; // 1 + cursor: help; // 2 + text-decoration-skip-ink: none; // 3 +} + + +// Address + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + + +// Lists + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: $dt-font-weight; +} + +// 1. Undo browser default + +dd { + margin-bottom: .5rem; + margin-left: 0; // 1 +} + + +// Blockquote + +blockquote { + margin: 0 0 1rem; +} + + +// Strong +// +// Add the correct font weight in Chrome, Edge, and Safari + +b, +strong { + font-weight: $font-weight-bolder; +} + + +// Small +// +// Add the correct font size in all browsers + +small { + @include font-size($small-font-size); +} + + +// Mark + +mark { + padding: $mark-padding; + background-color: var(--#{$prefix}highlight-bg); +} + + +// Sub and Sup +// +// Prevent `sub` and `sup` elements from affecting the line height in +// all browsers. + +sub, +sup { + position: relative; + @include font-size($sub-sup-font-size); + line-height: 0; + vertical-align: baseline; +} + +sub { bottom: -.25em; } +sup { top: -.5em; } + + +// Links + +a { + color: var(--#{$prefix}link-color); + text-decoration: $link-decoration; + + &:hover { + color: var(--#{$prefix}link-hover-color); + text-decoration: $link-hover-decoration; + } +} + +// And undo these styles for placeholder links/named anchors (without href). +// It would be more straightforward to just use a[href] in previous block, but that +// causes specificity issues in many other styles that are too complex to fix. +// See https://github.com/twbs/bootstrap/issues/19402 + +a:not([href]):not([class]) { + &, + &:hover { + color: inherit; + text-decoration: none; + } +} + + +// Code + +pre, +code, +kbd, +samp { + font-family: $font-family-code; + @include font-size(1em); // Correct the odd `em` font sizing in all browsers. +} + +// 1. Remove browser default top margin +// 2. Reset browser default of `1em` to use `rem`s +// 3. Don't allow content to break outside + +pre { + display: block; + margin-top: 0; // 1 + margin-bottom: 1rem; // 2 + overflow: auto; // 3 + @include font-size($code-font-size); + color: $pre-color; + + // Account for some code outputs that place code tags in pre tags + code { + @include font-size(inherit); + color: inherit; + word-break: normal; + } +} + +code { + @include font-size($code-font-size); + color: var(--#{$prefix}code-color); + word-wrap: break-word; + + // Streamline the style when inside anchors to avoid broken underline and more + a > & { + color: inherit; + } +} + +kbd { + padding: $kbd-padding-y $kbd-padding-x; + @include font-size($kbd-font-size); + color: $kbd-color; + background-color: $kbd-bg; + @include border-radius($border-radius-sm); + + kbd { + padding: 0; + @include font-size(1em); + font-weight: $nested-kbd-font-weight; + } +} + + +// Figures +// +// Apply a consistent margin strategy (matches our type styles). + +figure { + margin: 0 0 1rem; +} + + +// Images and content + +img, +svg { + vertical-align: middle; +} + + +// Tables +// +// Prevent double borders + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: $table-cell-padding-y; + padding-bottom: $table-cell-padding-y; + color: $table-caption-color; + text-align: left; +} + +// 1. Removes font-weight bold by inheriting +// 2. Matches default `<td>` alignment by inheriting `text-align`. +// 3. Fix alignment for Safari + +th { + font-weight: $table-th-font-weight; // 1 + text-align: inherit; // 2 + text-align: -webkit-match-parent; // 3 +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + + +// Forms +// +// 1. Allow labels to use `margin` for spacing. + +label { + display: inline-block; // 1 +} + +// Remove the default `border-radius` that macOS Chrome adds. +// See https://github.com/twbs/bootstrap/issues/24093 + +button { + // stylelint-disable-next-line property-disallowed-list + border-radius: 0; +} + +// Explicitly remove focus outline in Chromium when it shouldn't be +// visible (e.g. as result of mouse click or touch tap). It already +// should be doing this automatically, but seems to currently be +// confused and applies its very visible two-tone outline anyway. + +button:focus:not(:focus-visible) { + outline: 0; +} + +// 1. Remove the margin in Firefox and Safari + +input, +button, +select, +optgroup, +textarea { + margin: 0; // 1 + font-family: inherit; + @include font-size(inherit); + line-height: inherit; +} + +// Remove the inheritance of text transform in Firefox +button, +select { + text-transform: none; +} +// Set the cursor for non-`<button>` buttons +// +// Details at https://github.com/twbs/bootstrap/pull/30562 +[role="button"] { + cursor: pointer; +} + +select { + // Remove the inheritance of word-wrap in Safari. + // See https://github.com/twbs/bootstrap/issues/24990 + word-wrap: normal; + + // Undo the opacity change from Chrome + &:disabled { + opacity: 1; + } +} + +// Remove the dropdown arrow only from text type inputs built with datalists in Chrome. +// See https://stackoverflow.com/a/54997118 + +[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator { + display: none !important; +} + +// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` +// controls in Android 4. +// 2. Correct the inability to style clickable types in iOS and Safari. +// 3. Opinionated: add "hand" cursor to non-disabled button elements. + +button, +[type="button"], // 1 +[type="reset"], +[type="submit"] { + -webkit-appearance: button; // 2 + + @if $enable-button-pointers { + &:not(:disabled) { + cursor: pointer; // 3 + } + } +} + +// Remove inner border and padding from Firefox, but don't restore the outline like Normalize. + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers. + +textarea { + resize: vertical; // 1 +} + +// 1. Browsers set a default `min-width: min-content;` on fieldsets, +// unlike e.g. `<div>`s, which have `min-width: 0;` by default. +// So we reset that to ensure fieldsets behave more like a standard block element. +// See https://github.com/twbs/bootstrap/issues/12359 +// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements +// 2. Reset the default outline behavior of fieldsets so they don't affect page layout. + +fieldset { + min-width: 0; // 1 + padding: 0; // 2 + margin: 0; // 2 + border: 0; // 2 +} + +// 1. By using `float: left`, the legend will behave like a block element. +// This way the border of a fieldset wraps around the legend if present. +// 2. Fix wrapping bug. +// See https://github.com/twbs/bootstrap/issues/29712 + +legend { + float: left; // 1 + width: 100%; + padding: 0; + margin-bottom: $legend-margin-bottom; + @include font-size($legend-font-size); + font-weight: $legend-font-weight; + line-height: inherit; + + + * { + clear: left; // 2 + } +} + +// Fix height of inputs with a type of datetime-local, date, month, week, or time +// See https://github.com/twbs/bootstrap/issues/18842 + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +// 1. Correct the outline style in Safari. +// 2. This overrides the extra rounded corners on search inputs in iOS so that our +// `.form-control` class can properly style them. Note that this cannot simply +// be added to `.form-control` as it's not specific enough. For details, see +// https://github.com/twbs/bootstrap/issues/11586. + +[type="search"] { + outline-offset: -2px; // 1 + -webkit-appearance: textfield; // 2 +} + +// 1. A few input types should stay LTR +// See https://rtlstyling.com/posts/rtl-styling#form-inputs +// 2. RTL only output +// See https://rtlcss.com/learn/usage-guide/control-directives/#raw + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ + +// Remove the inner padding in Chrome and Safari on macOS. + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +// Remove padding around color pickers in webkit browsers + +::-webkit-color-swatch-wrapper { + padding: 0; +} + + +// 1. Inherit font family and line height for file input buttons +// 2. Correct the inability to style clickable types in iOS and Safari. + +::file-selector-button { + font: inherit; // 1 + -webkit-appearance: button; // 2 +} + +// Correct element displays + +output { + display: inline-block; +} + +// Remove border from iframe + +iframe { + border: 0; +} + +// Summary +// +// 1. Add the correct display in all browsers + +summary { + display: list-item; // 1 + cursor: pointer; +} + + +// Progress +// +// Add the correct vertical alignment in Chrome, Firefox, and Opera. + +progress { + vertical-align: baseline; +} + + +// Hidden attribute +// +// Always hide an element with the `hidden` HTML attribute. + +[hidden] { + display: none !important; +} diff --git a/styles/bootstrap/_root.scss b/styles/bootstrap/_root.scss new file mode 100644 index 0000000000000000000000000000000000000000..e64ae04e57dfd5a40e1ef943aecfb95e4b6cffc3 --- /dev/null +++ b/styles/bootstrap/_root.scss @@ -0,0 +1,73 @@ +:root { + // Note: Custom variable values only support SassScript inside `#{}`. + + // Colors + // + // Generate palettes for full colors, grays, and theme colors. + + @each $color, $value in $colors { + --#{$prefix}#{$color}: #{$value}; + } + + @each $color, $value in $grays { + --#{$prefix}gray-#{$color}: #{$value}; + } + + @each $color, $value in $theme-colors { + --#{$prefix}#{$color}: #{$value}; + } + + @each $color, $value in $theme-colors-rgb { + --#{$prefix}#{$color}-rgb: #{$value}; + } + + --#{$prefix}white-rgb: #{to-rgb($white)}; + --#{$prefix}black-rgb: #{to-rgb($black)}; + --#{$prefix}body-color-rgb: #{to-rgb($body-color)}; + --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)}; + + // Fonts + + // Note: Use `inspect` for lists so that quoted items keep the quotes. + // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 + --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)}; + --#{$prefix}font-monospace: #{inspect($font-family-monospace)}; + --#{$prefix}gradient: #{$gradient}; + + // Root and body + // scss-docs-start root-body-variables + @if $font-size-root != null { + --#{$prefix}root-font-size: #{$font-size-root}; + } + --#{$prefix}body-font-family: #{$font-family-base}; + @include rfs($font-size-base, --#{$prefix}body-font-size); + --#{$prefix}body-font-weight: #{$font-weight-base}; + --#{$prefix}body-line-height: #{$line-height-base}; + --#{$prefix}body-color: #{$body-color}; + @if $body-text-align != null { + --#{$prefix}body-text-align: #{$body-text-align}; + } + --#{$prefix}body-bg: #{$body-bg}; + // scss-docs-end root-body-variables + + // scss-docs-start root-border-var + --#{$prefix}border-width: #{$border-width}; + --#{$prefix}border-style: #{$border-style}; + --#{$prefix}border-color: #{$border-color}; + --#{$prefix}border-color-translucent: #{$border-color-translucent}; + + --#{$prefix}border-radius: #{$border-radius}; + --#{$prefix}border-radius-sm: #{$border-radius-sm}; + --#{$prefix}border-radius-lg: #{$border-radius-lg}; + --#{$prefix}border-radius-xl: #{$border-radius-xl}; + --#{$prefix}border-radius-2xl: #{$border-radius-2xl}; + --#{$prefix}border-radius-pill: #{$border-radius-pill}; + // scss-docs-end root-border-var + + --#{$prefix}link-color: #{$link-color}; + --#{$prefix}link-hover-color: #{$link-hover-color}; + + --#{$prefix}code-color: #{$code-color}; + + --#{$prefix}highlight-bg: #{$mark-bg}; +} diff --git a/styles/bootstrap/_spinners.scss b/styles/bootstrap/_spinners.scss new file mode 100644 index 0000000000000000000000000000000000000000..ec8473207eff5c4abc3bc34d4753c9c4c2765602 --- /dev/null +++ b/styles/bootstrap/_spinners.scss @@ -0,0 +1,85 @@ +// +// Rotating border +// + +.spinner-grow, +.spinner-border { + display: inline-block; + width: var(--#{$prefix}spinner-width); + height: var(--#{$prefix}spinner-height); + vertical-align: var(--#{$prefix}spinner-vertical-align); + // stylelint-disable-next-line property-disallowed-list + border-radius: 50%; + animation: var(--#{$prefix}spinner-animation-speed) linear infinite var(--#{$prefix}spinner-animation-name); +} + +// scss-docs-start spinner-border-keyframes +@keyframes spinner-border { + to { transform: rotate(360deg) #{"/* rtl:ignore */"}; } +} +// scss-docs-end spinner-border-keyframes + +.spinner-border { + // scss-docs-start spinner-border-css-vars + --#{$prefix}spinner-width: #{$spinner-width}; + --#{$prefix}spinner-height: #{$spinner-height}; + --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align}; + --#{$prefix}spinner-border-width: #{$spinner-border-width}; + --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed}; + --#{$prefix}spinner-animation-name: spinner-border; + // scss-docs-end spinner-border-css-vars + + border: var(--#{$prefix}spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + // scss-docs-start spinner-border-sm-css-vars + --#{$prefix}spinner-width: #{$spinner-width-sm}; + --#{$prefix}spinner-height: #{$spinner-height-sm}; + --#{$prefix}spinner-border-width: #{$spinner-border-width-sm}; + // scss-docs-end spinner-border-sm-css-vars +} + +// +// Growing circle +// + +// scss-docs-start spinner-grow-keyframes +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +// scss-docs-end spinner-grow-keyframes + +.spinner-grow { + // scss-docs-start spinner-grow-css-vars + --#{$prefix}spinner-width: #{$spinner-width}; + --#{$prefix}spinner-height: #{$spinner-height}; + --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align}; + --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed}; + --#{$prefix}spinner-animation-name: spinner-grow; + // scss-docs-end spinner-grow-css-vars + + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --#{$prefix}spinner-width: #{$spinner-width-sm}; + --#{$prefix}spinner-height: #{$spinner-height-sm}; +} + +@if $enable-reduced-motion { + @media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed * 2}; + } + } +} diff --git a/styles/bootstrap/_tables.scss b/styles/bootstrap/_tables.scss new file mode 100644 index 0000000000000000000000000000000000000000..1fdd43c6bb5bc12903c592f2332d7d83ed4829c8 --- /dev/null +++ b/styles/bootstrap/_tables.scss @@ -0,0 +1,164 @@ +// +// Basic Bootstrap table +// + +.table { + --#{$prefix}table-color: #{$table-color}; + --#{$prefix}table-bg: #{$table-bg}; + --#{$prefix}table-border-color: #{$table-border-color}; + --#{$prefix}table-accent-bg: #{$table-accent-bg}; + --#{$prefix}table-striped-color: #{$table-striped-color}; + --#{$prefix}table-striped-bg: #{$table-striped-bg}; + --#{$prefix}table-active-color: #{$table-active-color}; + --#{$prefix}table-active-bg: #{$table-active-bg}; + --#{$prefix}table-hover-color: #{$table-hover-color}; + --#{$prefix}table-hover-bg: #{$table-hover-bg}; + + width: 100%; + margin-bottom: $spacer; + color: var(--#{$prefix}table-color); + vertical-align: $table-cell-vertical-align; + border-color: var(--#{$prefix}table-border-color); + + // Target th & td + // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class. + // We use the universal selectors here to simplify the selector (else we would need 6 different selectors). + // Another advantage is that this generates less code and makes the selector less specific making it easier to override. + // stylelint-disable-next-line selector-max-universal + > :not(caption) > * > * { + padding: $table-cell-padding-y $table-cell-padding-x; + background-color: var(--#{$prefix}table-bg); + border-bottom-width: $table-border-width; + box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-accent-bg); + } + + > tbody { + vertical-align: inherit; + } + + > thead { + vertical-align: bottom; + } +} + +.table-group-divider { + border-top: ($table-border-width * 2) solid $table-group-separator-color; +} + +// +// Change placement of captions with a class +// + +.caption-top { + caption-side: top; +} + + +// +// Condensed table w/ half padding +// + +.table-sm { + // stylelint-disable-next-line selector-max-universal + > :not(caption) > * > * { + padding: $table-cell-padding-y-sm $table-cell-padding-x-sm; + } +} + + +// Border versions +// +// Add or remove borders all around the table and between all the columns. +// +// When borders are added on all sides of the cells, the corners can render odd when +// these borders do not have the same color or if they are semi-transparent. +// Therefor we add top and border bottoms to the `tr`s and left and right borders +// to the `td`s or `th`s + +.table-bordered { + > :not(caption) > * { + border-width: $table-border-width 0; + + // stylelint-disable-next-line selector-max-universal + > * { + border-width: 0 $table-border-width; + } + } +} + +.table-borderless { + // stylelint-disable-next-line selector-max-universal + > :not(caption) > * > * { + border-bottom-width: 0; + } + + > :not(:first-child) { + border-top-width: 0; + } +} + +// Zebra-striping +// +// Default zebra-stripe styles (alternating gray and transparent backgrounds) + +// For rows +.table-striped { + > tbody > tr:nth-of-type(#{$table-striped-order}) > * { + --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg); + color: var(--#{$prefix}table-striped-color); + } +} + +// For columns +.table-striped-columns { + > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) { + --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg); + color: var(--#{$prefix}table-striped-color); + } +} + +// Active table +// +// The `.table-active` class can be added to highlight rows or cells + +.table-active { + --#{$prefix}table-accent-bg: var(--#{$prefix}table-active-bg); + color: var(--#{$prefix}table-active-color); +} + +// Hover effect +// +// Placed here since it has to come after the potential zebra striping + +.table-hover { + > tbody > tr:hover > * { + --#{$prefix}table-accent-bg: var(--#{$prefix}table-hover-bg); + color: var(--#{$prefix}table-hover-color); + } +} + + +// Table variants +// +// Table variants set the table cell backgrounds, border colors +// and the colors of the striped, hovered & active tables + +@each $color, $value in $table-variants { + @include table-variant($color, $value); +} + +// Responsive tables +// +// Generate series of `.table-responsive-*` classes for configuring the screen +// size of where your table will overflow. + +@each $breakpoint in map-keys($grid-breakpoints) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + @include media-breakpoint-down($breakpoint) { + .table-responsive#{$infix} { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + } +} diff --git a/styles/bootstrap/_toasts.scss b/styles/bootstrap/_toasts.scss new file mode 100644 index 0000000000000000000000000000000000000000..2ce378d5bc96d499be2053b64da383a63d7cc2eb --- /dev/null +++ b/styles/bootstrap/_toasts.scss @@ -0,0 +1,73 @@ +.toast { + // scss-docs-start toast-css-vars + --#{$prefix}toast-zindex: #{$zindex-toast}; + --#{$prefix}toast-padding-x: #{$toast-padding-x}; + --#{$prefix}toast-padding-y: #{$toast-padding-y}; + --#{$prefix}toast-spacing: #{$toast-spacing}; + --#{$prefix}toast-max-width: #{$toast-max-width}; + @include rfs($toast-font-size, --#{$prefix}toast-font-size); + --#{$prefix}toast-color: #{$toast-color}; + --#{$prefix}toast-bg: #{$toast-background-color}; + --#{$prefix}toast-border-width: #{$toast-border-width}; + --#{$prefix}toast-border-color: #{$toast-border-color}; + --#{$prefix}toast-border-radius: #{$toast-border-radius}; + --#{$prefix}toast-box-shadow: #{$toast-box-shadow}; + --#{$prefix}toast-header-color: #{$toast-header-color}; + --#{$prefix}toast-header-bg: #{$toast-header-background-color}; + --#{$prefix}toast-header-border-color: #{$toast-header-border-color}; + // scss-docs-end toast-css-vars + + width: var(--#{$prefix}toast-max-width); + max-width: 100%; + @include font-size(var(--#{$prefix}toast-font-size)); + color: var(--#{$prefix}toast-color); + pointer-events: auto; + background-color: var(--#{$prefix}toast-bg); + background-clip: padding-box; + border: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-border-color); + box-shadow: var(--#{$prefix}toast-box-shadow); + @include border-radius(var(--#{$prefix}toast-border-radius)); + + &.showing { + opacity: 0; + } + + &:not(.show) { + display: none; + } +} + +.toast-container { + --#{$prefix}toast-zindex: #{$zindex-toast}; + + position: absolute; + z-index: var(--#{$prefix}toast-zindex); + width: max-content; + max-width: 100%; + pointer-events: none; + + > :not(:last-child) { + margin-bottom: var(--#{$prefix}toast-spacing); + } +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--#{$prefix}toast-padding-y) var(--#{$prefix}toast-padding-x); + color: var(--#{$prefix}toast-header-color); + background-color: var(--#{$prefix}toast-header-bg); + background-clip: padding-box; + border-bottom: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-header-border-color); + @include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width))); + + .btn-close { + margin-right: calc(-.5 * var(--#{$prefix}toast-padding-x)); // stylelint-disable-line function-disallowed-list + margin-left: var(--#{$prefix}toast-padding-x); + } +} + +.toast-body { + padding: var(--#{$prefix}toast-padding-x); + word-wrap: break-word; +} diff --git a/styles/bootstrap/_tooltip.scss b/styles/bootstrap/_tooltip.scss new file mode 100644 index 0000000000000000000000000000000000000000..7da3df3e00c6b0768d7f9960f7f346b1bde62310 --- /dev/null +++ b/styles/bootstrap/_tooltip.scss @@ -0,0 +1,120 @@ +// Base class +.tooltip { + // scss-docs-start tooltip-css-vars + --#{$prefix}tooltip-zindex: #{$zindex-tooltip}; + --#{$prefix}tooltip-max-width: #{$tooltip-max-width}; + --#{$prefix}tooltip-padding-x: #{$tooltip-padding-x}; + --#{$prefix}tooltip-padding-y: #{$tooltip-padding-y}; + --#{$prefix}tooltip-margin: #{$tooltip-margin}; + @include rfs($tooltip-font-size, --#{$prefix}tooltip-font-size); + --#{$prefix}tooltip-color: #{$tooltip-color}; + --#{$prefix}tooltip-bg: #{$tooltip-bg}; + --#{$prefix}tooltip-border-radius: #{$tooltip-border-radius}; + --#{$prefix}tooltip-opacity: #{$tooltip-opacity}; + --#{$prefix}tooltip-arrow-width: #{$tooltip-arrow-width}; + --#{$prefix}tooltip-arrow-height: #{$tooltip-arrow-height}; + // scss-docs-end tooltip-css-vars + + z-index: var(--#{$prefix}tooltip-zindex); + display: block; + padding: var(--#{$prefix}tooltip-arrow-height); + margin: var(--#{$prefix}tooltip-margin); + @include deprecate("`$tooltip-margin`", "v5", "v5.x", true); + // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + @include reset-text(); + @include font-size(var(--#{$prefix}tooltip-font-size)); + // Allow breaking very long words so they don't overflow the tooltip's bounds + word-wrap: break-word; + opacity: 0; + + &.show { opacity: var(--#{$prefix}tooltip-opacity); } + + .tooltip-arrow { + display: block; + width: var(--#{$prefix}tooltip-arrow-width); + height: var(--#{$prefix}tooltip-arrow-height); + + &::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; + } + } +} + +.bs-tooltip-top .tooltip-arrow { + bottom: 0; + + &::before { + top: -1px; + border-width: var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list + border-top-color: var(--#{$prefix}tooltip-bg); + } +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow { + left: 0; + width: var(--#{$prefix}tooltip-arrow-height); + height: var(--#{$prefix}tooltip-arrow-width); + + &::before { + right: -1px; + border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list + border-right-color: var(--#{$prefix}tooltip-bg); + } +} + +/* rtl:end:ignore */ + +.bs-tooltip-bottom .tooltip-arrow { + top: 0; + + &::before { + bottom: -1px; + border-width: 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height); // stylelint-disable-line function-disallowed-list + border-bottom-color: var(--#{$prefix}tooltip-bg); + } +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow { + right: 0; + width: var(--#{$prefix}tooltip-arrow-height); + height: var(--#{$prefix}tooltip-arrow-width); + + &::before { + left: -1px; + border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height); // stylelint-disable-line function-disallowed-list + border-left-color: var(--#{$prefix}tooltip-bg); + } +} + +/* rtl:end:ignore */ + +.bs-tooltip-auto { + &[data-popper-placement^="top"] { + @extend .bs-tooltip-top; + } + &[data-popper-placement^="right"] { + @extend .bs-tooltip-end; + } + &[data-popper-placement^="bottom"] { + @extend .bs-tooltip-bottom; + } + &[data-popper-placement^="left"] { + @extend .bs-tooltip-start; + } +} + +// Wrapper for the tooltip content +.tooltip-inner { + max-width: var(--#{$prefix}tooltip-max-width); + padding: var(--#{$prefix}tooltip-padding-y) var(--#{$prefix}tooltip-padding-x); + color: var(--#{$prefix}tooltip-color); + text-align: center; + background-color: var(--#{$prefix}tooltip-bg); + @include border-radius(var(--#{$prefix}tooltip-border-radius)); +} diff --git a/styles/bootstrap/_transitions.scss b/styles/bootstrap/_transitions.scss new file mode 100644 index 0000000000000000000000000000000000000000..bfb26aa8ac7e5aac0f26b6ff181b381fea7b6c9d --- /dev/null +++ b/styles/bootstrap/_transitions.scss @@ -0,0 +1,27 @@ +.fade { + @include transition($transition-fade); + + &:not(.show) { + opacity: 0; + } +} + +// scss-docs-start collapse-classes +.collapse { + &:not(.show) { + display: none; + } +} + +.collapsing { + height: 0; + overflow: hidden; + @include transition($transition-collapse); + + &.collapse-horizontal { + width: 0; + height: auto; + @include transition($transition-collapse-width); + } +} +// scss-docs-end collapse-classes diff --git a/styles/bootstrap/_type.scss b/styles/bootstrap/_type.scss new file mode 100644 index 0000000000000000000000000000000000000000..37d64bf89c5578ee14759a04aaf65e2a1a93f097 --- /dev/null +++ b/styles/bootstrap/_type.scss @@ -0,0 +1,106 @@ +// +// Headings +// +.h1 { + @extend h1; +} + +.h2 { + @extend h2; +} + +.h3 { + @extend h3; +} + +.h4 { + @extend h4; +} + +.h5 { + @extend h5; +} + +.h6 { + @extend h6; +} + + +.lead { + @include font-size($lead-font-size); + font-weight: $lead-font-weight; +} + +// Type display classes +@each $display, $font-size in $display-font-sizes { + .display-#{$display} { + @include font-size($font-size); + font-family: $display-font-family; + font-style: $display-font-style; + font-weight: $display-font-weight; + line-height: $display-line-height; + } +} + +// +// Emphasis +// +.small { + @extend small; +} + +.mark { + @extend mark; +} + +// +// Lists +// + +.list-unstyled { + @include list-unstyled(); +} + +// Inline turns list items into inline-block +.list-inline { + @include list-unstyled(); +} +.list-inline-item { + display: inline-block; + + &:not(:last-child) { + margin-right: $list-inline-padding; + } +} + + +// +// Misc +// + +// Builds on `abbr` +.initialism { + @include font-size($initialism-font-size); + text-transform: uppercase; +} + +// Blockquotes +.blockquote { + margin-bottom: $blockquote-margin-y; + @include font-size($blockquote-font-size); + + > :last-child { + margin-bottom: 0; + } +} + +.blockquote-footer { + margin-top: -$blockquote-margin-y; + margin-bottom: $blockquote-margin-y; + @include font-size($blockquote-footer-font-size); + color: $blockquote-footer-color; + + &::before { + content: "\2014\00A0"; // em dash, nbsp + } +} diff --git a/styles/bootstrap/_utilities.scss b/styles/bootstrap/_utilities.scss new file mode 100644 index 0000000000000000000000000000000000000000..1e0d141accbfb7eb333f4a190d461889908dad98 --- /dev/null +++ b/styles/bootstrap/_utilities.scss @@ -0,0 +1,647 @@ +// Utilities + +$utilities: () !default; +// stylelint-disable-next-line scss/dollar-variable-default +$utilities: map-merge( + ( + // scss-docs-start utils-vertical-align + "align": ( + property: vertical-align, + class: align, + values: baseline top middle bottom text-bottom text-top + ), + // scss-docs-end utils-vertical-align + // scss-docs-start utils-float + "float": ( + responsive: true, + property: float, + values: ( + start: left, + end: right, + none: none, + ) + ), + // scss-docs-end utils-float + // Opacity utilities + // scss-docs-start utils-opacity + "opacity": ( + property: opacity, + values: ( + 0: 0, + 25: .25, + 50: .5, + 75: .75, + 100: 1, + ) + ), + // scss-docs-end utils-opacity + // scss-docs-start utils-overflow + "overflow": ( + property: overflow, + values: auto hidden visible scroll, + ), + // scss-docs-end utils-overflow + // scss-docs-start utils-display + "display": ( + responsive: true, + print: true, + property: display, + class: d, + values: inline inline-block block grid table table-row table-cell flex inline-flex none + ), + // scss-docs-end utils-display + // scss-docs-start utils-shadow + "shadow": ( + property: box-shadow, + class: shadow, + values: ( + null: $box-shadow, + sm: $box-shadow-sm, + lg: $box-shadow-lg, + none: none, + ) + ), + // scss-docs-end utils-shadow + // scss-docs-start utils-position + "position": ( + property: position, + values: static relative absolute fixed sticky + ), + "top": ( + property: top, + values: $position-values + ), + "bottom": ( + property: bottom, + values: $position-values + ), + "start": ( + property: left, + class: start, + values: $position-values + ), + "end": ( + property: right, + class: end, + values: $position-values + ), + "translate-middle": ( + property: transform, + class: translate-middle, + values: ( + null: translate(-50%, -50%), + x: translateX(-50%), + y: translateY(-50%), + ) + ), + // scss-docs-end utils-position + // scss-docs-start utils-borders + "border": ( + property: border, + values: ( + null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color), + 0: 0, + ) + ), + "border-top": ( + property: border-top, + values: ( + null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color), + 0: 0, + ) + ), + "border-end": ( + property: border-right, + class: border-end, + values: ( + null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color), + 0: 0, + ) + ), + "border-bottom": ( + property: border-bottom, + values: ( + null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color), + 0: 0, + ) + ), + "border-start": ( + property: border-left, + class: border-start, + values: ( + null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color), + 0: 0, + ) + ), + "border-color": ( + property: border-color, + class: border, + local-vars: ( + "border-opacity": 1 + ), + values: $utilities-border-colors + ), + "border-width": ( + css-var: true, + css-variable-name: border-width, + class: border, + values: $border-widths + ), + "border-opacity": ( + css-var: true, + class: border-opacity, + values: ( + 10: .1, + 25: .25, + 50: .5, + 75: .75, + 100: 1 + ) + ), + // scss-docs-end utils-borders + // Sizing utilities + // scss-docs-start utils-sizing + "width": ( + property: width, + class: w, + values: ( + 25: 25%, + 50: 50%, + 75: 75%, + 100: 100%, + auto: auto + ) + ), + "max-width": ( + property: max-width, + class: mw, + values: (100: 100%) + ), + "viewport-width": ( + property: width, + class: vw, + values: (100: 100vw) + ), + "min-viewport-width": ( + property: min-width, + class: min-vw, + values: (100: 100vw) + ), + "height": ( + property: height, + class: h, + values: ( + 25: 25%, + 50: 50%, + 75: 75%, + 100: 100%, + auto: auto + ) + ), + "max-height": ( + property: max-height, + class: mh, + values: (100: 100%) + ), + "viewport-height": ( + property: height, + class: vh, + values: (100: 100vh) + ), + "min-viewport-height": ( + property: min-height, + class: min-vh, + values: (100: 100vh) + ), + // scss-docs-end utils-sizing + // Flex utilities + // scss-docs-start utils-flex + "flex": ( + responsive: true, + property: flex, + values: (fill: 1 1 auto) + ), + "flex-direction": ( + responsive: true, + property: flex-direction, + class: flex, + values: row column row-reverse column-reverse + ), + "flex-grow": ( + responsive: true, + property: flex-grow, + class: flex, + values: ( + grow-0: 0, + grow-1: 1, + ) + ), + "flex-shrink": ( + responsive: true, + property: flex-shrink, + class: flex, + values: ( + shrink-0: 0, + shrink-1: 1, + ) + ), + "flex-wrap": ( + responsive: true, + property: flex-wrap, + class: flex, + values: wrap nowrap wrap-reverse + ), + "justify-content": ( + responsive: true, + property: justify-content, + values: ( + start: flex-start, + end: flex-end, + center: center, + between: space-between, + around: space-around, + evenly: space-evenly, + ) + ), + "align-items": ( + responsive: true, + property: align-items, + values: ( + start: flex-start, + end: flex-end, + center: center, + baseline: baseline, + stretch: stretch, + ) + ), + "align-content": ( + responsive: true, + property: align-content, + values: ( + start: flex-start, + end: flex-end, + center: center, + between: space-between, + around: space-around, + stretch: stretch, + ) + ), + "align-self": ( + responsive: true, + property: align-self, + values: ( + auto: auto, + start: flex-start, + end: flex-end, + center: center, + baseline: baseline, + stretch: stretch, + ) + ), + "order": ( + responsive: true, + property: order, + values: ( + first: -1, + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + last: 6, + ), + ), + // scss-docs-end utils-flex + // Margin utilities + // scss-docs-start utils-spacing + "margin": ( + responsive: true, + property: margin, + class: m, + values: map-merge($spacers, (auto: auto)) + ), + "margin-x": ( + responsive: true, + property: margin-right margin-left, + class: mx, + values: map-merge($spacers, (auto: auto)) + ), + "margin-y": ( + responsive: true, + property: margin-top margin-bottom, + class: my, + values: map-merge($spacers, (auto: auto)) + ), + "margin-top": ( + responsive: true, + property: margin-top, + class: mt, + values: map-merge($spacers, (auto: auto)) + ), + "margin-end": ( + responsive: true, + property: margin-right, + class: me, + values: map-merge($spacers, (auto: auto)) + ), + "margin-bottom": ( + responsive: true, + property: margin-bottom, + class: mb, + values: map-merge($spacers, (auto: auto)) + ), + "margin-start": ( + responsive: true, + property: margin-left, + class: ms, + values: map-merge($spacers, (auto: auto)) + ), + // Negative margin utilities + "negative-margin": ( + responsive: true, + property: margin, + class: m, + values: $negative-spacers + ), + "negative-margin-x": ( + responsive: true, + property: margin-right margin-left, + class: mx, + values: $negative-spacers + ), + "negative-margin-y": ( + responsive: true, + property: margin-top margin-bottom, + class: my, + values: $negative-spacers + ), + "negative-margin-top": ( + responsive: true, + property: margin-top, + class: mt, + values: $negative-spacers + ), + "negative-margin-end": ( + responsive: true, + property: margin-right, + class: me, + values: $negative-spacers + ), + "negative-margin-bottom": ( + responsive: true, + property: margin-bottom, + class: mb, + values: $negative-spacers + ), + "negative-margin-start": ( + responsive: true, + property: margin-left, + class: ms, + values: $negative-spacers + ), + // Padding utilities + "padding": ( + responsive: true, + property: padding, + class: p, + values: $spacers + ), + "padding-x": ( + responsive: true, + property: padding-right padding-left, + class: px, + values: $spacers + ), + "padding-y": ( + responsive: true, + property: padding-top padding-bottom, + class: py, + values: $spacers + ), + "padding-top": ( + responsive: true, + property: padding-top, + class: pt, + values: $spacers + ), + "padding-end": ( + responsive: true, + property: padding-right, + class: pe, + values: $spacers + ), + "padding-bottom": ( + responsive: true, + property: padding-bottom, + class: pb, + values: $spacers + ), + "padding-start": ( + responsive: true, + property: padding-left, + class: ps, + values: $spacers + ), + // Gap utility + "gap": ( + responsive: true, + property: gap, + class: gap, + values: $spacers + ), + // scss-docs-end utils-spacing + // Text + // scss-docs-start utils-text + "font-family": ( + property: font-family, + class: font, + values: (monospace: var(--#{$prefix}font-monospace)) + ), + "font-size": ( + rfs: true, + property: font-size, + class: fs, + values: $font-sizes + ), + "font-style": ( + property: font-style, + class: fst, + values: italic normal + ), + "font-weight": ( + property: font-weight, + class: fw, + values: ( + light: $font-weight-light, + lighter: $font-weight-lighter, + normal: $font-weight-normal, + bold: $font-weight-bold, + semibold: $font-weight-semibold, + bolder: $font-weight-bolder + ) + ), + "line-height": ( + property: line-height, + class: lh, + values: ( + 1: 1, + sm: $line-height-sm, + base: $line-height-base, + lg: $line-height-lg, + ) + ), + "text-align": ( + responsive: true, + property: text-align, + class: text, + values: ( + start: left, + end: right, + center: center, + ) + ), + "text-decoration": ( + property: text-decoration, + values: none underline line-through + ), + "text-transform": ( + property: text-transform, + class: text, + values: lowercase uppercase capitalize + ), + "white-space": ( + property: white-space, + class: text, + values: ( + wrap: normal, + nowrap: nowrap, + ) + ), + "word-wrap": ( + property: word-wrap word-break, + class: text, + values: (break: break-word), + rtl: false + ), + // scss-docs-end utils-text + // scss-docs-start utils-color + "color": ( + property: color, + class: text, + local-vars: ( + "text-opacity": 1 + ), + values: map-merge( + $utilities-text-colors, + ( + "muted": $text-muted, + "black-50": rgba($black, .5), // deprecated + "white-50": rgba($white, .5), // deprecated + "reset": inherit, + ) + ) + ), + "text-opacity": ( + css-var: true, + class: text-opacity, + values: ( + 25: .25, + 50: .5, + 75: .75, + 100: 1 + ) + ), + // scss-docs-end utils-color + // scss-docs-start utils-bg-color + "background-color": ( + property: background-color, + class: bg, + local-vars: ( + "bg-opacity": 1 + ), + values: map-merge( + $utilities-bg-colors, + ( + "transparent": transparent + ) + ) + ), + "bg-opacity": ( + css-var: true, + class: bg-opacity, + values: ( + 10: .1, + 25: .25, + 50: .5, + 75: .75, + 100: 1 + ) + ), + // scss-docs-end utils-bg-color + "gradient": ( + property: background-image, + class: bg, + values: (gradient: var(--#{$prefix}gradient)) + ), + // scss-docs-start utils-interaction + "user-select": ( + property: user-select, + values: all auto none + ), + "pointer-events": ( + property: pointer-events, + class: pe, + values: none auto, + ), + // scss-docs-end utils-interaction + // scss-docs-start utils-border-radius + "rounded": ( + property: border-radius, + class: rounded, + values: ( + null: var(--#{$prefix}border-radius), + 0: 0, + 1: var(--#{$prefix}border-radius-sm), + 2: var(--#{$prefix}border-radius), + 3: var(--#{$prefix}border-radius-lg), + 4: var(--#{$prefix}border-radius-xl), + 5: var(--#{$prefix}border-radius-2xl), + circle: 50%, + pill: var(--#{$prefix}border-radius-pill) + ) + ), + "rounded-top": ( + property: border-top-left-radius border-top-right-radius, + class: rounded-top, + values: (null: var(--#{$prefix}border-radius)) + ), + "rounded-end": ( + property: border-top-right-radius border-bottom-right-radius, + class: rounded-end, + values: (null: var(--#{$prefix}border-radius)) + ), + "rounded-bottom": ( + property: border-bottom-right-radius border-bottom-left-radius, + class: rounded-bottom, + values: (null: var(--#{$prefix}border-radius)) + ), + "rounded-start": ( + property: border-bottom-left-radius border-top-left-radius, + class: rounded-start, + values: (null: var(--#{$prefix}border-radius)) + ), + // scss-docs-end utils-border-radius + // scss-docs-start utils-visibility + "visibility": ( + property: visibility, + class: null, + values: ( + visible: visible, + invisible: hidden, + ) + ) + // scss-docs-end utils-visibility + ), + $utilities +); diff --git a/styles/bootstrap/_variables.scss b/styles/bootstrap/_variables.scss new file mode 100644 index 0000000000000000000000000000000000000000..e0218365ba34bca56ebb246311f4f91d5e21d4fc --- /dev/null +++ b/styles/bootstrap/_variables.scss @@ -0,0 +1,1634 @@ +// Variables +// +// Variables should follow the `$component-state-property-size` formula for +// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs. + +// Color system + +// scss-docs-start gray-color-variables +$white: #fff !default; +$gray-100: #f8f9fa !default; +$gray-200: #e9ecef !default; +$gray-300: #dee2e6 !default; +$gray-400: #ced4da !default; +$gray-500: #adb5bd !default; +$gray-600: #6c757d !default; +$gray-700: #495057 !default; +$gray-800: #343a40 !default; +$gray-900: #212529 !default; +$black: #000 !default; +// scss-docs-end gray-color-variables + +// fusv-disable +// scss-docs-start gray-colors-map +$grays: ( + "100": $gray-100, + "200": $gray-200, + "300": $gray-300, + "400": $gray-400, + "500": $gray-500, + "600": $gray-600, + "700": $gray-700, + "800": $gray-800, + "900": $gray-900 +) !default; +// scss-docs-end gray-colors-map +// fusv-enable + +// scss-docs-start color-variables +$blue: #0d6efd !default; +$indigo: #6610f2 !default; +$purple: #6f42c1 !default; +$pink: #d63384 !default; +$red: #dc3545 !default; +$orange: #fd7e14 !default; +$yellow: #ffc107 !default; +$green: #198754 !default; +$teal: #20c997 !default; +$cyan: #0dcaf0 !default; +// scss-docs-end color-variables + +// scss-docs-start colors-map +$colors: ( + "blue": $blue, + "indigo": $indigo, + "purple": $purple, + "pink": $pink, + "red": $red, + "orange": $orange, + "yellow": $yellow, + "green": $green, + "teal": $teal, + "cyan": $cyan, + "black": $black, + "white": $white, + "gray": $gray-600, + "gray-dark": $gray-800 +) !default; +// scss-docs-end colors-map + +// The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.0 are 3, 4.5 and 7. +// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast +$min-contrast-ratio: 4.5 !default; + +// Customize the light and dark text colors for use in our color contrast function. +$color-contrast-dark: $black !default; +$color-contrast-light: $white !default; + +// fusv-disable +$blue-100: tint-color($blue, 80%) !default; +$blue-200: tint-color($blue, 60%) !default; +$blue-300: tint-color($blue, 40%) !default; +$blue-400: tint-color($blue, 20%) !default; +$blue-500: $blue !default; +$blue-600: shade-color($blue, 20%) !default; +$blue-700: shade-color($blue, 40%) !default; +$blue-800: shade-color($blue, 60%) !default; +$blue-900: shade-color($blue, 80%) !default; + +$indigo-100: tint-color($indigo, 80%) !default; +$indigo-200: tint-color($indigo, 60%) !default; +$indigo-300: tint-color($indigo, 40%) !default; +$indigo-400: tint-color($indigo, 20%) !default; +$indigo-500: $indigo !default; +$indigo-600: shade-color($indigo, 20%) !default; +$indigo-700: shade-color($indigo, 40%) !default; +$indigo-800: shade-color($indigo, 60%) !default; +$indigo-900: shade-color($indigo, 80%) !default; + +$purple-100: tint-color($purple, 80%) !default; +$purple-200: tint-color($purple, 60%) !default; +$purple-300: tint-color($purple, 40%) !default; +$purple-400: tint-color($purple, 20%) !default; +$purple-500: $purple !default; +$purple-600: shade-color($purple, 20%) !default; +$purple-700: shade-color($purple, 40%) !default; +$purple-800: shade-color($purple, 60%) !default; +$purple-900: shade-color($purple, 80%) !default; + +$pink-100: tint-color($pink, 80%) !default; +$pink-200: tint-color($pink, 60%) !default; +$pink-300: tint-color($pink, 40%) !default; +$pink-400: tint-color($pink, 20%) !default; +$pink-500: $pink !default; +$pink-600: shade-color($pink, 20%) !default; +$pink-700: shade-color($pink, 40%) !default; +$pink-800: shade-color($pink, 60%) !default; +$pink-900: shade-color($pink, 80%) !default; + +$red-100: tint-color($red, 80%) !default; +$red-200: tint-color($red, 60%) !default; +$red-300: tint-color($red, 40%) !default; +$red-400: tint-color($red, 20%) !default; +$red-500: $red !default; +$red-600: shade-color($red, 20%) !default; +$red-700: shade-color($red, 40%) !default; +$red-800: shade-color($red, 60%) !default; +$red-900: shade-color($red, 80%) !default; + +$orange-100: tint-color($orange, 80%) !default; +$orange-200: tint-color($orange, 60%) !default; +$orange-300: tint-color($orange, 40%) !default; +$orange-400: tint-color($orange, 20%) !default; +$orange-500: $orange !default; +$orange-600: shade-color($orange, 20%) !default; +$orange-700: shade-color($orange, 40%) !default; +$orange-800: shade-color($orange, 60%) !default; +$orange-900: shade-color($orange, 80%) !default; + +$yellow-100: tint-color($yellow, 80%) !default; +$yellow-200: tint-color($yellow, 60%) !default; +$yellow-300: tint-color($yellow, 40%) !default; +$yellow-400: tint-color($yellow, 20%) !default; +$yellow-500: $yellow !default; +$yellow-600: shade-color($yellow, 20%) !default; +$yellow-700: shade-color($yellow, 40%) !default; +$yellow-800: shade-color($yellow, 60%) !default; +$yellow-900: shade-color($yellow, 80%) !default; + +$green-100: tint-color($green, 80%) !default; +$green-200: tint-color($green, 60%) !default; +$green-300: tint-color($green, 40%) !default; +$green-400: tint-color($green, 20%) !default; +$green-500: $green !default; +$green-600: shade-color($green, 20%) !default; +$green-700: shade-color($green, 40%) !default; +$green-800: shade-color($green, 60%) !default; +$green-900: shade-color($green, 80%) !default; + +$teal-100: tint-color($teal, 80%) !default; +$teal-200: tint-color($teal, 60%) !default; +$teal-300: tint-color($teal, 40%) !default; +$teal-400: tint-color($teal, 20%) !default; +$teal-500: $teal !default; +$teal-600: shade-color($teal, 20%) !default; +$teal-700: shade-color($teal, 40%) !default; +$teal-800: shade-color($teal, 60%) !default; +$teal-900: shade-color($teal, 80%) !default; + +$cyan-100: tint-color($cyan, 80%) !default; +$cyan-200: tint-color($cyan, 60%) !default; +$cyan-300: tint-color($cyan, 40%) !default; +$cyan-400: tint-color($cyan, 20%) !default; +$cyan-500: $cyan !default; +$cyan-600: shade-color($cyan, 20%) !default; +$cyan-700: shade-color($cyan, 40%) !default; +$cyan-800: shade-color($cyan, 60%) !default; +$cyan-900: shade-color($cyan, 80%) !default; + +$blues: ( + "blue-100": $blue-100, + "blue-200": $blue-200, + "blue-300": $blue-300, + "blue-400": $blue-400, + "blue-500": $blue-500, + "blue-600": $blue-600, + "blue-700": $blue-700, + "blue-800": $blue-800, + "blue-900": $blue-900 +) !default; + +$indigos: ( + "indigo-100": $indigo-100, + "indigo-200": $indigo-200, + "indigo-300": $indigo-300, + "indigo-400": $indigo-400, + "indigo-500": $indigo-500, + "indigo-600": $indigo-600, + "indigo-700": $indigo-700, + "indigo-800": $indigo-800, + "indigo-900": $indigo-900 +) !default; + +$purples: ( + "purple-100": $purple-100, + "purple-200": $purple-200, + "purple-300": $purple-300, + "purple-400": $purple-400, + "purple-500": $purple-500, + "purple-600": $purple-600, + "purple-700": $purple-700, + "purple-800": $purple-800, + "purple-900": $purple-900 +) !default; + +$pinks: ( + "pink-100": $pink-100, + "pink-200": $pink-200, + "pink-300": $pink-300, + "pink-400": $pink-400, + "pink-500": $pink-500, + "pink-600": $pink-600, + "pink-700": $pink-700, + "pink-800": $pink-800, + "pink-900": $pink-900 +) !default; + +$reds: ( + "red-100": $red-100, + "red-200": $red-200, + "red-300": $red-300, + "red-400": $red-400, + "red-500": $red-500, + "red-600": $red-600, + "red-700": $red-700, + "red-800": $red-800, + "red-900": $red-900 +) !default; + +$oranges: ( + "orange-100": $orange-100, + "orange-200": $orange-200, + "orange-300": $orange-300, + "orange-400": $orange-400, + "orange-500": $orange-500, + "orange-600": $orange-600, + "orange-700": $orange-700, + "orange-800": $orange-800, + "orange-900": $orange-900 +) !default; + +$yellows: ( + "yellow-100": $yellow-100, + "yellow-200": $yellow-200, + "yellow-300": $yellow-300, + "yellow-400": $yellow-400, + "yellow-500": $yellow-500, + "yellow-600": $yellow-600, + "yellow-700": $yellow-700, + "yellow-800": $yellow-800, + "yellow-900": $yellow-900 +) !default; + +$greens: ( + "green-100": $green-100, + "green-200": $green-200, + "green-300": $green-300, + "green-400": $green-400, + "green-500": $green-500, + "green-600": $green-600, + "green-700": $green-700, + "green-800": $green-800, + "green-900": $green-900 +) !default; + +$teals: ( + "teal-100": $teal-100, + "teal-200": $teal-200, + "teal-300": $teal-300, + "teal-400": $teal-400, + "teal-500": $teal-500, + "teal-600": $teal-600, + "teal-700": $teal-700, + "teal-800": $teal-800, + "teal-900": $teal-900 +) !default; + +$cyans: ( + "cyan-100": $cyan-100, + "cyan-200": $cyan-200, + "cyan-300": $cyan-300, + "cyan-400": $cyan-400, + "cyan-500": $cyan-500, + "cyan-600": $cyan-600, + "cyan-700": $cyan-700, + "cyan-800": $cyan-800, + "cyan-900": $cyan-900 +) !default; +// fusv-enable + +// scss-docs-start theme-color-variables +$primary: $blue !default; +$secondary: $gray-600 !default; +$success: $green !default; +$info: $cyan !default; +$warning: $yellow !default; +$danger: $red !default; +$light: $gray-100 !default; +$dark: $gray-900 !default; +// scss-docs-end theme-color-variables + +// scss-docs-start theme-colors-map +$theme-colors: ( + "primary": $primary, + "secondary": $secondary, + "success": $success, + "info": $info, + "warning": $warning, + "danger": $danger, + "light": $light, + "dark": $dark +) !default; +// scss-docs-end theme-colors-map + +// Characters which are escaped by the escape-svg function +$escaped-characters: ( + ("<", "%3c"), + (">", "%3e"), + ("#", "%23"), + ("(", "%28"), + (")", "%29"), +) !default; + +// Options +// +// Quickly modify global styling by enabling or disabling optional features. + +$enable-caret: true !default; +$enable-rounded: true !default; +$enable-shadows: false !default; +$enable-gradients: false !default; +$enable-transitions: true !default; +$enable-reduced-motion: true !default; +$enable-smooth-scroll: true !default; +$enable-grid-classes: true !default; +$enable-container-classes: true !default; +$enable-cssgrid: false !default; +$enable-button-pointers: true !default; +$enable-rfs: true !default; +$enable-validation-icons: true !default; +$enable-negative-margins: false !default; +$enable-deprecation-messages: true !default; +$enable-important-utilities: true !default; + +// Prefix for :root CSS variables + +$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix` +$prefix: $variable-prefix !default; + +// Gradient +// +// The gradient which is added to components if `$enable-gradients` is `true` +// This gradient is also added to elements with `.bg-gradient` +// scss-docs-start variable-gradient +$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default; +// scss-docs-end variable-gradient + +// Spacing +// +// Control the default styling of most Bootstrap elements by modifying these +// variables. Mostly focused on spacing. +// You can add more entries to the $spacers map, should you need more variation. + +// scss-docs-start spacer-variables-maps +$spacer: 1rem !default; +$spacers: ( + 0: 0, + 1: $spacer * .25, + 2: $spacer * .5, + 3: $spacer, + 4: $spacer * 1.5, + 5: $spacer * 3, +) !default; +// scss-docs-end spacer-variables-maps + +// Position +// +// Define the edge positioning anchors of the position utilities. + +// scss-docs-start position-map +$position-values: ( + 0: 0, + 50: 50%, + 100: 100% +) !default; +// scss-docs-end position-map + +// Body +// +// Settings for the `<body>` element. + +$body-bg: $white !default; +$body-color: $gray-900 !default; +$body-text-align: null !default; + +// Links +// +// Style anchor elements. + +$link-color: $primary !default; +$link-decoration: underline !default; +$link-shade-percentage: 20% !default; +$link-hover-color: shift-color($link-color, $link-shade-percentage) !default; +$link-hover-decoration: null !default; + +$stretched-link-pseudo-element: after !default; +$stretched-link-z-index: 1 !default; + +// Paragraphs +// +// Style p element. + +$paragraph-margin-bottom: 1rem !default; + + +// Grid breakpoints +// +// Define the minimum dimensions at which your layout will change, +// adapting to different screen sizes, for use in media queries. + +// scss-docs-start grid-breakpoints +$grid-breakpoints: ( + xs: 0, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1200px, + xxl: 1400px +) !default; +// scss-docs-end grid-breakpoints + +@include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); +@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints"); + + +// Grid containers +// +// Define the maximum width of `.container` for different screen sizes. + +// scss-docs-start container-max-widths +$container-max-widths: ( + sm: 540px, + md: 720px, + lg: 960px, + xl: 1140px, + xxl: 1320px +) !default; +// scss-docs-end container-max-widths + +@include _assert-ascending($container-max-widths, "$container-max-widths"); + + +// Grid columns +// +// Set the number of columns and specify the width of the gutters. + +$grid-columns: 12 !default; +$grid-gutter-width: 1.5rem !default; +$grid-row-columns: 6 !default; + +// Container padding + +$container-padding-x: $grid-gutter-width !default; + + +// Components +// +// Define common padding and border radius sizes and more. + +// scss-docs-start border-variables +$border-width: 1px !default; +$border-widths: ( + 1: 1px, + 2: 2px, + 3: 3px, + 4: 4px, + 5: 5px +) !default; + +$border-style: solid !default; +$border-color: $gray-300 !default; +$border-color-translucent: rgba($black, .175) !default; +// scss-docs-end border-variables + +// scss-docs-start border-radius-variables +$border-radius: .375rem !default; +$border-radius-sm: .25rem !default; +$border-radius-lg: .5rem !default; +$border-radius-xl: 1rem !default; +$border-radius-2xl: 2rem !default; +$border-radius-pill: 50rem !default; +// scss-docs-end border-radius-variables + +// scss-docs-start box-shadow-variables +$box-shadow: 0 .5rem 1rem rgba($black, .15) !default; +$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default; +$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default; +$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default; +// scss-docs-end box-shadow-variables + +$component-active-color: $white !default; +$component-active-bg: $primary !default; + +// scss-docs-start caret-variables +$caret-width: .3em !default; +$caret-vertical-align: $caret-width * .85 !default; +$caret-spacing: $caret-width * .85 !default; +// scss-docs-end caret-variables + +$transition-base: all .2s ease-in-out !default; +$transition-fade: opacity .15s linear !default; +// scss-docs-start collapse-transition +$transition-collapse: height .35s ease !default; +$transition-collapse-width: width .35s ease !default; +// scss-docs-end collapse-transition + +// stylelint-disable function-disallowed-list +// scss-docs-start aspect-ratios +$aspect-ratios: ( + "1x1": 100%, + "4x3": calc(3 / 4 * 100%), + "16x9": calc(9 / 16 * 100%), + "21x9": calc(9 / 21 * 100%) +) !default; +// scss-docs-end aspect-ratios +// stylelint-enable function-disallowed-list + +// Typography +// +// Font, line-height, and color for body text, headings, and more. + +// scss-docs-start font-variables +// stylelint-disable value-keyword-case +$font-family-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; +$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; +// stylelint-enable value-keyword-case +$font-family-base: var(--#{$prefix}font-sans-serif) !default; +$font-family-code: var(--#{$prefix}font-monospace) !default; + +// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins +// $font-size-base affects the font size of the body text +$font-size-root: null !default; +$font-size-base: 1rem !default; // Assumes the browser default, typically `16px` +$font-size-sm: $font-size-base * .875 !default; +$font-size-lg: $font-size-base * 1.25 !default; + +$font-weight-lighter: lighter !default; +$font-weight-light: 300 !default; +$font-weight-normal: 400 !default; +$font-weight-semibold: 600 !default; +$font-weight-bold: 700 !default; +$font-weight-bolder: bolder !default; + +$font-weight-base: $font-weight-normal !default; + +$line-height-base: 1.5 !default; +$line-height-sm: 1.25 !default; +$line-height-lg: 2 !default; + +$h1-font-size: $font-size-base * 2.5 !default; +$h2-font-size: $font-size-base * 2 !default; +$h3-font-size: $font-size-base * 1.75 !default; +$h4-font-size: $font-size-base * 1.5 !default; +$h5-font-size: $font-size-base * 1.25 !default; +$h6-font-size: $font-size-base !default; +// scss-docs-end font-variables + +// scss-docs-start font-sizes +$font-sizes: ( + 1: $h1-font-size, + 2: $h2-font-size, + 3: $h3-font-size, + 4: $h4-font-size, + 5: $h5-font-size, + 6: $h6-font-size +) !default; +// scss-docs-end font-sizes + +// scss-docs-start headings-variables +$headings-margin-bottom: $spacer * .5 !default; +$headings-font-family: null !default; +$headings-font-style: null !default; +$headings-font-weight: 500 !default; +$headings-line-height: 1.2 !default; +$headings-color: null !default; +// scss-docs-end headings-variables + +// scss-docs-start display-headings +$display-font-sizes: ( + 1: 5rem, + 2: 4.5rem, + 3: 4rem, + 4: 3.5rem, + 5: 3rem, + 6: 2.5rem +) !default; + +$display-font-family: null !default; +$display-font-style: null !default; +$display-font-weight: 300 !default; +$display-line-height: $headings-line-height !default; +// scss-docs-end display-headings + +// scss-docs-start type-variables +$lead-font-size: $font-size-base * 1.25 !default; +$lead-font-weight: 300 !default; + +$small-font-size: .875em !default; + +$sub-sup-font-size: .75em !default; + +$text-muted: $gray-600 !default; + +$initialism-font-size: $small-font-size !default; + +$blockquote-margin-y: $spacer !default; +$blockquote-font-size: $font-size-base * 1.25 !default; +$blockquote-footer-color: $gray-600 !default; +$blockquote-footer-font-size: $small-font-size !default; + +$hr-margin-y: $spacer !default; +$hr-color: inherit !default; + +// fusv-disable +$hr-bg-color: null !default; // Deprecated in v5.2.0 +$hr-height: null !default; // Deprecated in v5.2.0 +// fusv-enable + +$hr-border-color: null !default; // Allows for inherited colors +$hr-border-width: $border-width !default; +$hr-opacity: .25 !default; + +$legend-margin-bottom: .5rem !default; +$legend-font-size: 1.5rem !default; +$legend-font-weight: null !default; + +$dt-font-weight: $font-weight-bold !default; + +$list-inline-padding: .5rem !default; + +$mark-padding: .1875em !default; +$mark-bg: $yellow-100 !default; +// scss-docs-end type-variables + + +// Tables +// +// Customizes the `.table` component with basic values, each used across all table variations. + +// scss-docs-start table-variables +$table-cell-padding-y: .5rem !default; +$table-cell-padding-x: .5rem !default; +$table-cell-padding-y-sm: .25rem !default; +$table-cell-padding-x-sm: .25rem !default; + +$table-cell-vertical-align: top !default; + +$table-color: var(--#{$prefix}body-color) !default; +$table-bg: transparent !default; +$table-accent-bg: transparent !default; + +$table-th-font-weight: null !default; + +$table-striped-color: $table-color !default; +$table-striped-bg-factor: .05 !default; +$table-striped-bg: rgba($black, $table-striped-bg-factor) !default; + +$table-active-color: $table-color !default; +$table-active-bg-factor: .1 !default; +$table-active-bg: rgba($black, $table-active-bg-factor) !default; + +$table-hover-color: $table-color !default; +$table-hover-bg-factor: .075 !default; +$table-hover-bg: rgba($black, $table-hover-bg-factor) !default; + +$table-border-factor: .1 !default; +$table-border-width: $border-width !default; +$table-border-color: var(--#{$prefix}border-color) !default; + +$table-striped-order: odd !default; +$table-striped-columns-order: even !default; + +$table-group-separator-color: currentcolor !default; + +$table-caption-color: $text-muted !default; + +$table-bg-scale: -80% !default; +// scss-docs-end table-variables + +// scss-docs-start table-loop +$table-variants: ( + "primary": shift-color($primary, $table-bg-scale), + "secondary": shift-color($secondary, $table-bg-scale), + "success": shift-color($success, $table-bg-scale), + "info": shift-color($info, $table-bg-scale), + "warning": shift-color($warning, $table-bg-scale), + "danger": shift-color($danger, $table-bg-scale), + "light": $light, + "dark": $dark, +) !default; +// scss-docs-end table-loop + + +// Buttons + Forms +// +// Shared variables that are reassigned to `$input-` and `$btn-` specific variables. + +// scss-docs-start input-btn-variables +$input-btn-padding-y: .375rem !default; +$input-btn-padding-x: .75rem !default; +$input-btn-font-family: null !default; +$input-btn-font-size: $font-size-base !default; +$input-btn-line-height: $line-height-base !default; + +$input-btn-focus-width: .25rem !default; +$input-btn-focus-color-opacity: .25 !default; +$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default; +$input-btn-focus-blur: 0 !default; +$input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default; + +$input-btn-padding-y-sm: .25rem !default; +$input-btn-padding-x-sm: .5rem !default; +$input-btn-font-size-sm: $font-size-sm !default; + +$input-btn-padding-y-lg: .5rem !default; +$input-btn-padding-x-lg: 1rem !default; +$input-btn-font-size-lg: $font-size-lg !default; + +$input-btn-border-width: $border-width !default; +// scss-docs-end input-btn-variables + + +// Buttons +// +// For each of Bootstrap's buttons, define text, background, and border color. + +// scss-docs-start btn-variables +$btn-padding-y: $input-btn-padding-y !default; +$btn-padding-x: $input-btn-padding-x !default; +$btn-font-family: $input-btn-font-family !default; +$btn-font-size: $input-btn-font-size !default; +$btn-line-height: $input-btn-line-height !default; +$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping + +$btn-padding-y-sm: $input-btn-padding-y-sm !default; +$btn-padding-x-sm: $input-btn-padding-x-sm !default; +$btn-font-size-sm: $input-btn-font-size-sm !default; + +$btn-padding-y-lg: $input-btn-padding-y-lg !default; +$btn-padding-x-lg: $input-btn-padding-x-lg !default; +$btn-font-size-lg: $input-btn-font-size-lg !default; + +$btn-border-width: $input-btn-border-width !default; + +$btn-font-weight: $font-weight-normal !default; +$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default; +$btn-focus-width: $input-btn-focus-width !default; +$btn-focus-box-shadow: $input-btn-focus-box-shadow !default; +$btn-disabled-opacity: .65 !default; +$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default; + +$btn-link-color: var(--#{$prefix}link-color) !default; +$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default; +$btn-link-disabled-color: $gray-600 !default; + +// Allows for customizing button radius independently from global border radius +$btn-border-radius: $border-radius !default; +$btn-border-radius-sm: $border-radius-sm !default; +$btn-border-radius-lg: $border-radius-lg !default; + +$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + +$btn-hover-bg-shade-amount: 15% !default; +$btn-hover-bg-tint-amount: 15% !default; +$btn-hover-border-shade-amount: 20% !default; +$btn-hover-border-tint-amount: 10% !default; +$btn-active-bg-shade-amount: 20% !default; +$btn-active-bg-tint-amount: 20% !default; +$btn-active-border-shade-amount: 25% !default; +$btn-active-border-tint-amount: 10% !default; +// scss-docs-end btn-variables + + +// Forms + +// scss-docs-start form-text-variables +$form-text-margin-top: .25rem !default; +$form-text-font-size: $small-font-size !default; +$form-text-font-style: null !default; +$form-text-font-weight: null !default; +$form-text-color: $text-muted !default; +// scss-docs-end form-text-variables + +// scss-docs-start form-label-variables +$form-label-margin-bottom: .5rem !default; +$form-label-font-size: null !default; +$form-label-font-style: null !default; +$form-label-font-weight: null !default; +$form-label-color: null !default; +// scss-docs-end form-label-variables + +// scss-docs-start form-input-variables +$input-padding-y: $input-btn-padding-y !default; +$input-padding-x: $input-btn-padding-x !default; +$input-font-family: $input-btn-font-family !default; +$input-font-size: $input-btn-font-size !default; +$input-font-weight: $font-weight-base !default; +$input-line-height: $input-btn-line-height !default; + +$input-padding-y-sm: $input-btn-padding-y-sm !default; +$input-padding-x-sm: $input-btn-padding-x-sm !default; +$input-font-size-sm: $input-btn-font-size-sm !default; + +$input-padding-y-lg: $input-btn-padding-y-lg !default; +$input-padding-x-lg: $input-btn-padding-x-lg !default; +$input-font-size-lg: $input-btn-font-size-lg !default; + +$input-bg: $body-bg !default; +$input-disabled-color: null !default; +$input-disabled-bg: $gray-200 !default; +$input-disabled-border-color: null !default; + +$input-color: $body-color !default; +$input-border-color: $gray-400 !default; +$input-border-width: $input-btn-border-width !default; +$input-box-shadow: $box-shadow-inset !default; + +$input-border-radius: $border-radius !default; +$input-border-radius-sm: $border-radius-sm !default; +$input-border-radius-lg: $border-radius-lg !default; + +$input-focus-bg: $input-bg !default; +$input-focus-border-color: tint-color($component-active-bg, 50%) !default; +$input-focus-color: $input-color !default; +$input-focus-width: $input-btn-focus-width !default; +$input-focus-box-shadow: $input-btn-focus-box-shadow !default; + +$input-placeholder-color: $gray-600 !default; +$input-plaintext-color: $body-color !default; + +$input-height-border: $input-border-width * 2 !default; + +$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default; +$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default; +$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default; + +$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default; +$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default; +$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default; + +$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + +$form-color-width: 3rem !default; +// scss-docs-end form-input-variables + +// scss-docs-start form-check-variables +$form-check-input-width: 1em !default; +$form-check-min-height: $font-size-base * $line-height-base !default; +$form-check-padding-start: $form-check-input-width + .5em !default; +$form-check-margin-bottom: .125rem !default; +$form-check-label-color: null !default; +$form-check-label-cursor: null !default; +$form-check-transition: null !default; + +$form-check-input-active-filter: brightness(90%) !default; + +$form-check-input-bg: $input-bg !default; +$form-check-input-border: 1px solid rgba($black, .25) !default; +$form-check-input-border-radius: .25em !default; +$form-check-radio-border-radius: 50% !default; +$form-check-input-focus-border: $input-focus-border-color !default; +$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default; + +$form-check-input-checked-color: $component-active-color !default; +$form-check-input-checked-bg-color: $component-active-bg !default; +$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default; +$form-check-input-checked-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/></svg>") !default; +$form-check-radio-checked-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>") !default; + +$form-check-input-indeterminate-color: $component-active-color !default; +$form-check-input-indeterminate-bg-color: $component-active-bg !default; +$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default; +$form-check-input-indeterminate-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>") !default; + +$form-check-input-disabled-opacity: .5 !default; +$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default; +$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default; + +$form-check-inline-margin-end: 1rem !default; +// scss-docs-end form-check-variables + +// scss-docs-start form-switch-variables +$form-switch-color: rgba($black, .25) !default; +$form-switch-width: 2em !default; +$form-switch-padding-start: $form-switch-width + .5em !default; +$form-switch-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>") !default; +$form-switch-border-radius: $form-switch-width !default; +$form-switch-transition: background-position .15s ease-in-out !default; + +$form-switch-focus-color: $input-focus-border-color !default; +$form-switch-focus-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>") !default; + +$form-switch-checked-color: $component-active-color !default; +$form-switch-checked-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>") !default; +$form-switch-checked-bg-position: right center !default; +// scss-docs-end form-switch-variables + +// scss-docs-start input-group-variables +$input-group-addon-padding-y: $input-padding-y !default; +$input-group-addon-padding-x: $input-padding-x !default; +$input-group-addon-font-weight: $input-font-weight !default; +$input-group-addon-color: $input-color !default; +$input-group-addon-bg: $gray-200 !default; +$input-group-addon-border-color: $input-border-color !default; +// scss-docs-end input-group-variables + +// scss-docs-start form-select-variables +$form-select-padding-y: $input-padding-y !default; +$form-select-padding-x: $input-padding-x !default; +$form-select-font-family: $input-font-family !default; +$form-select-font-size: $input-font-size !default; +$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image +$form-select-font-weight: $input-font-weight !default; +$form-select-line-height: $input-line-height !default; +$form-select-color: $input-color !default; +$form-select-bg: $input-bg !default; +$form-select-disabled-color: null !default; +$form-select-disabled-bg: $gray-200 !default; +$form-select-disabled-border-color: $input-disabled-border-color !default; +$form-select-bg-position: right $form-select-padding-x center !default; +$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions +$form-select-indicator-color: $gray-800 !default; +$form-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>") !default; + +$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default; +$form-select-feedback-icon-position: center right $form-select-indicator-padding !default; +$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default; + +$form-select-border-width: $input-border-width !default; +$form-select-border-color: $input-border-color !default; +$form-select-border-radius: $input-border-radius !default; +$form-select-box-shadow: $box-shadow-inset !default; + +$form-select-focus-border-color: $input-focus-border-color !default; +$form-select-focus-width: $input-focus-width !default; +$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default; + +$form-select-padding-y-sm: $input-padding-y-sm !default; +$form-select-padding-x-sm: $input-padding-x-sm !default; +$form-select-font-size-sm: $input-font-size-sm !default; +$form-select-border-radius-sm: $input-border-radius-sm !default; + +$form-select-padding-y-lg: $input-padding-y-lg !default; +$form-select-padding-x-lg: $input-padding-x-lg !default; +$form-select-font-size-lg: $input-font-size-lg !default; +$form-select-border-radius-lg: $input-border-radius-lg !default; + +$form-select-transition: $input-transition !default; +// scss-docs-end form-select-variables + +// scss-docs-start form-range-variables +$form-range-track-width: 100% !default; +$form-range-track-height: .5rem !default; +$form-range-track-cursor: pointer !default; +$form-range-track-bg: $gray-300 !default; +$form-range-track-border-radius: 1rem !default; +$form-range-track-box-shadow: $box-shadow-inset !default; + +$form-range-thumb-width: 1rem !default; +$form-range-thumb-height: $form-range-thumb-width !default; +$form-range-thumb-bg: $component-active-bg !default; +$form-range-thumb-border: 0 !default; +$form-range-thumb-border-radius: 1rem !default; +$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default; +$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default; +$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge +$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default; +$form-range-thumb-disabled-bg: $gray-500 !default; +$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; +// scss-docs-end form-range-variables + +// scss-docs-start form-file-variables +$form-file-button-color: $input-color !default; +$form-file-button-bg: $input-group-addon-bg !default; +$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default; +// scss-docs-end form-file-variables + +// scss-docs-start form-floating-variables +$form-floating-height: add(3.5rem, $input-height-border) !default; +$form-floating-line-height: 1.25 !default; +$form-floating-padding-x: $input-padding-x !default; +$form-floating-padding-y: 1rem !default; +$form-floating-input-padding-t: 1.625rem !default; +$form-floating-input-padding-b: .625rem !default; +$form-floating-label-opacity: .65 !default; +$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default; +$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default; +// scss-docs-end form-floating-variables + +// Form validation + +// scss-docs-start form-feedback-variables +$form-feedback-margin-top: $form-text-margin-top !default; +$form-feedback-font-size: $form-text-font-size !default; +$form-feedback-font-style: $form-text-font-style !default; +$form-feedback-valid-color: $success !default; +$form-feedback-invalid-color: $danger !default; + +$form-feedback-icon-valid-color: $form-feedback-valid-color !default; +$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>") !default; +$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default; +$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default; +// scss-docs-end form-feedback-variables + +// scss-docs-start form-validation-states +$form-validation-states: ( + "valid": ( + "color": $form-feedback-valid-color, + "icon": $form-feedback-icon-valid + ), + "invalid": ( + "color": $form-feedback-invalid-color, + "icon": $form-feedback-icon-invalid + ) +) !default; +// scss-docs-end form-validation-states + +// Z-index master list +// +// Warning: Avoid customizing these values. They're used for a bird's eye view +// of components dependent on the z-axis and are designed to all work together. + +// scss-docs-start zindex-stack +$zindex-dropdown: 1000 !default; +$zindex-sticky: 1020 !default; +$zindex-fixed: 1030 !default; +$zindex-offcanvas-backdrop: 1040 !default; +$zindex-offcanvas: 1045 !default; +$zindex-modal-backdrop: 1050 !default; +$zindex-modal: 1055 !default; +$zindex-popover: 1070 !default; +$zindex-tooltip: 1080 !default; +$zindex-toast: 1090 !default; +// scss-docs-end zindex-stack + + +// Navs + +// scss-docs-start nav-variables +$nav-link-padding-y: .5rem !default; +$nav-link-padding-x: 1rem !default; +$nav-link-font-size: null !default; +$nav-link-font-weight: null !default; +$nav-link-color: var(--#{$prefix}link-color) !default; +$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default; +$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default; +$nav-link-disabled-color: $gray-600 !default; + +$nav-tabs-border-color: $gray-300 !default; +$nav-tabs-border-width: $border-width !default; +$nav-tabs-border-radius: $border-radius !default; +$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default; +$nav-tabs-link-active-color: $gray-700 !default; +$nav-tabs-link-active-bg: $body-bg !default; +$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default; + +$nav-pills-border-radius: $border-radius !default; +$nav-pills-link-active-color: $component-active-color !default; +$nav-pills-link-active-bg: $component-active-bg !default; +// scss-docs-end nav-variables + + +// Navbar + +// scss-docs-start navbar-variables +$navbar-padding-y: $spacer * .5 !default; +$navbar-padding-x: null !default; + +$navbar-nav-link-padding-x: .5rem !default; + +$navbar-brand-font-size: $font-size-lg !default; +// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link +$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default; +$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default; +$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default; +$navbar-brand-margin-end: 1rem !default; + +$navbar-toggler-padding-y: .25rem !default; +$navbar-toggler-padding-x: .75rem !default; +$navbar-toggler-font-size: $font-size-lg !default; +$navbar-toggler-border-radius: $btn-border-radius !default; +$navbar-toggler-focus-width: $btn-focus-width !default; +$navbar-toggler-transition: box-shadow .15s ease-in-out !default; + +$navbar-light-color: rgba($black, .55) !default; +$navbar-light-hover-color: rgba($black, .7) !default; +$navbar-light-active-color: rgba($black, .9) !default; +$navbar-light-disabled-color: rgba($black, .3) !default; +$navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default; +$navbar-light-toggler-border-color: rgba($black, .1) !default; +$navbar-light-brand-color: $navbar-light-active-color !default; +$navbar-light-brand-hover-color: $navbar-light-active-color !default; +// scss-docs-end navbar-variables + +// scss-docs-start navbar-dark-variables +$navbar-dark-color: rgba($white, .55) !default; +$navbar-dark-hover-color: rgba($white, .75) !default; +$navbar-dark-active-color: $white !default; +$navbar-dark-disabled-color: rgba($white, .25) !default; +$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default; +$navbar-dark-toggler-border-color: rgba($white, .1) !default; +$navbar-dark-brand-color: $navbar-dark-active-color !default; +$navbar-dark-brand-hover-color: $navbar-dark-active-color !default; +// scss-docs-end navbar-dark-variables + + +// Dropdowns +// +// Dropdown menu container and contents. + +// scss-docs-start dropdown-variables +$dropdown-min-width: 10rem !default; +$dropdown-padding-x: 0 !default; +$dropdown-padding-y: .5rem !default; +$dropdown-spacer: .125rem !default; +$dropdown-font-size: $font-size-base !default; +$dropdown-color: $body-color !default; +$dropdown-bg: $white !default; +$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default; +$dropdown-border-radius: $border-radius !default; +$dropdown-border-width: $border-width !default; +$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default; +$dropdown-divider-bg: $dropdown-border-color !default; +$dropdown-divider-margin-y: $spacer * .5 !default; +$dropdown-box-shadow: $box-shadow !default; + +$dropdown-link-color: $gray-900 !default; +$dropdown-link-hover-color: shade-color($dropdown-link-color, 10%) !default; +$dropdown-link-hover-bg: $gray-200 !default; + +$dropdown-link-active-color: $component-active-color !default; +$dropdown-link-active-bg: $component-active-bg !default; + +$dropdown-link-disabled-color: $gray-500 !default; + +$dropdown-item-padding-y: $spacer * .25 !default; +$dropdown-item-padding-x: $spacer !default; + +$dropdown-header-color: $gray-600 !default; +$dropdown-header-padding-x: $dropdown-item-padding-x !default; +$dropdown-header-padding-y: $dropdown-padding-y !default; +// fusv-disable +$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0 +// fusv-enable +// scss-docs-end dropdown-variables + +// scss-docs-start dropdown-dark-variables +$dropdown-dark-color: $gray-300 !default; +$dropdown-dark-bg: $gray-800 !default; +$dropdown-dark-border-color: $dropdown-border-color !default; +$dropdown-dark-divider-bg: $dropdown-divider-bg !default; +$dropdown-dark-box-shadow: null !default; +$dropdown-dark-link-color: $dropdown-dark-color !default; +$dropdown-dark-link-hover-color: $white !default; +$dropdown-dark-link-hover-bg: rgba($white, .15) !default; +$dropdown-dark-link-active-color: $dropdown-link-active-color !default; +$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default; +$dropdown-dark-link-disabled-color: $gray-500 !default; +$dropdown-dark-header-color: $gray-500 !default; +// scss-docs-end dropdown-dark-variables + + +// Pagination + +// scss-docs-start pagination-variables +$pagination-padding-y: .375rem !default; +$pagination-padding-x: .75rem !default; +$pagination-padding-y-sm: .25rem !default; +$pagination-padding-x-sm: .5rem !default; +$pagination-padding-y-lg: .75rem !default; +$pagination-padding-x-lg: 1.5rem !default; + +$pagination-font-size: $font-size-base !default; + +$pagination-color: var(--#{$prefix}link-color) !default; +$pagination-bg: $white !default; +$pagination-border-radius: $border-radius !default; +$pagination-border-width: $border-width !default; +$pagination-margin-start: ($pagination-border-width * -1) !default; +$pagination-border-color: $gray-300 !default; + +$pagination-focus-color: var(--#{$prefix}link-hover-color) !default; +$pagination-focus-bg: $gray-200 !default; +$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default; +$pagination-focus-outline: 0 !default; + +$pagination-hover-color: var(--#{$prefix}link-hover-color) !default; +$pagination-hover-bg: $gray-200 !default; +$pagination-hover-border-color: $gray-300 !default; + +$pagination-active-color: $component-active-color !default; +$pagination-active-bg: $component-active-bg !default; +$pagination-active-border-color: $pagination-active-bg !default; + +$pagination-disabled-color: $gray-600 !default; +$pagination-disabled-bg: $white !default; +$pagination-disabled-border-color: $gray-300 !default; + +$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + +$pagination-border-radius-sm: $border-radius-sm !default; +$pagination-border-radius-lg: $border-radius-lg !default; +// scss-docs-end pagination-variables + + +// Placeholders + +// scss-docs-start placeholders +$placeholder-opacity-max: .5 !default; +$placeholder-opacity-min: .2 !default; +// scss-docs-end placeholders + +// Cards + +// scss-docs-start card-variables +$card-spacer-y: $spacer !default; +$card-spacer-x: $spacer !default; +$card-title-spacer-y: $spacer * .5 !default; +$card-border-width: $border-width !default; +$card-border-color: var(--#{$prefix}border-color-translucent) !default; +$card-border-radius: $border-radius !default; +$card-box-shadow: null !default; +$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default; +$card-cap-padding-y: $card-spacer-y * .5 !default; +$card-cap-padding-x: $card-spacer-x !default; +$card-cap-bg: rgba($black, .03) !default; +$card-cap-color: null !default; +$card-height: null !default; +$card-color: null !default; +$card-bg: $white !default; +$card-img-overlay-padding: $spacer !default; +$card-group-margin: $grid-gutter-width * .5 !default; +// scss-docs-end card-variables + +// Accordion + +// scss-docs-start accordion-variables +$accordion-padding-y: 1rem !default; +$accordion-padding-x: 1.25rem !default; +$accordion-color: $body-color !default; // Sass variable because of $accordion-button-icon +$accordion-bg: $body-bg !default; +$accordion-border-width: $border-width !default; +$accordion-border-color: var(--#{$prefix}border-color) !default; +$accordion-border-radius: $border-radius !default; +$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default; + +$accordion-body-padding-y: $accordion-padding-y !default; +$accordion-body-padding-x: $accordion-padding-x !default; + +$accordion-button-padding-y: $accordion-padding-y !default; +$accordion-button-padding-x: $accordion-padding-x !default; +$accordion-button-color: $accordion-color !default; +$accordion-button-bg: var(--#{$prefix}accordion-bg) !default; +$accordion-transition: $btn-transition, border-radius .15s ease !default; +$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default; +$accordion-button-active-color: shade-color($primary, 10%) !default; + +$accordion-button-focus-border-color: $input-focus-border-color !default; +$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default; + +$accordion-icon-width: 1.25rem !default; +$accordion-icon-color: $accordion-button-color !default; +$accordion-icon-active-color: $accordion-button-active-color !default; +$accordion-icon-transition: transform .2s ease-in-out !default; +$accordion-icon-transform: rotate(-180deg) !default; + +$accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default; +$accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default; +// scss-docs-end accordion-variables + +// Tooltips + +// scss-docs-start tooltip-variables +$tooltip-font-size: $font-size-sm !default; +$tooltip-max-width: 200px !default; +$tooltip-color: $white !default; +$tooltip-bg: $black !default; +$tooltip-border-radius: $border-radius !default; +$tooltip-opacity: .9 !default; +$tooltip-padding-y: $spacer * .25 !default; +$tooltip-padding-x: $spacer * .5 !default; +$tooltip-margin: null !default; // TODO: remove this in v6 + +$tooltip-arrow-width: .8rem !default; +$tooltip-arrow-height: .4rem !default; +// fusv-disable +$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables +// fusv-enable +// scss-docs-end tooltip-variables + +// Form tooltips must come after regular tooltips +// scss-docs-start tooltip-feedback-variables +$form-feedback-tooltip-padding-y: $tooltip-padding-y !default; +$form-feedback-tooltip-padding-x: $tooltip-padding-x !default; +$form-feedback-tooltip-font-size: $tooltip-font-size !default; +$form-feedback-tooltip-line-height: null !default; +$form-feedback-tooltip-opacity: $tooltip-opacity !default; +$form-feedback-tooltip-border-radius: $tooltip-border-radius !default; +// scss-docs-end tooltip-feedback-variables + + +// Popovers + +// scss-docs-start popover-variables +$popover-font-size: $font-size-sm !default; +$popover-bg: $white !default; +$popover-max-width: 276px !default; +$popover-border-width: $border-width !default; +$popover-border-color: var(--#{$prefix}border-color-translucent) !default; +$popover-border-radius: $border-radius-lg !default; +$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default; +$popover-box-shadow: $box-shadow !default; + +$popover-header-font-size: $font-size-base !default; +$popover-header-bg: shade-color($popover-bg, 6%) !default; +$popover-header-color: $headings-color !default; +$popover-header-padding-y: .5rem !default; +$popover-header-padding-x: $spacer !default; + +$popover-body-color: $body-color !default; +$popover-body-padding-y: $spacer !default; +$popover-body-padding-x: $spacer !default; + +$popover-arrow-width: 1rem !default; +$popover-arrow-height: .5rem !default; +// scss-docs-end popover-variables + +// fusv-disable +// Deprecated in Bootstrap 5.2.0 for CSS variables +$popover-arrow-color: $popover-bg !default; +$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default; +// fusv-enable + + +// Toasts + +// scss-docs-start toast-variables +$toast-max-width: 350px !default; +$toast-padding-x: .75rem !default; +$toast-padding-y: .5rem !default; +$toast-font-size: .875rem !default; +$toast-color: null !default; +$toast-background-color: rgba($white, .85) !default; +$toast-border-width: $border-width !default; +$toast-border-color: var(--#{$prefix}border-color-translucent) !default; +$toast-border-radius: $border-radius !default; +$toast-box-shadow: $box-shadow !default; +$toast-spacing: $container-padding-x !default; + +$toast-header-color: $gray-600 !default; +$toast-header-background-color: rgba($white, .85) !default; +$toast-header-border-color: rgba($black, .05) !default; +// scss-docs-end toast-variables + + +// Badges + +// scss-docs-start badge-variables +$badge-font-size: .75em !default; +$badge-font-weight: $font-weight-bold !default; +$badge-color: $white !default; +$badge-padding-y: .35em !default; +$badge-padding-x: .65em !default; +$badge-border-radius: $border-radius !default; +// scss-docs-end badge-variables + + +// Modals + +// scss-docs-start modal-variables +$modal-inner-padding: $spacer !default; + +$modal-footer-margin-between: .5rem !default; + +$modal-dialog-margin: .5rem !default; +$modal-dialog-margin-y-sm-up: 1.75rem !default; + +$modal-title-line-height: $line-height-base !default; + +$modal-content-color: null !default; +$modal-content-bg: $white !default; +$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default; +$modal-content-border-width: $border-width !default; +$modal-content-border-radius: $border-radius-lg !default; +$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default; +$modal-content-box-shadow-xs: $box-shadow-sm !default; +$modal-content-box-shadow-sm-up: $box-shadow !default; + +$modal-backdrop-bg: $black !default; +$modal-backdrop-opacity: .5 !default; + +$modal-header-border-color: var(--#{$prefix}border-color) !default; +$modal-header-border-width: $modal-content-border-width !default; +$modal-header-padding-y: $modal-inner-padding !default; +$modal-header-padding-x: $modal-inner-padding !default; +$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility + +$modal-footer-bg: null !default; +$modal-footer-border-color: $modal-header-border-color !default; +$modal-footer-border-width: $modal-header-border-width !default; + +$modal-sm: 300px !default; +$modal-md: 500px !default; +$modal-lg: 800px !default; +$modal-xl: 1140px !default; + +$modal-fade-transform: translate(0, -50px) !default; +$modal-show-transform: none !default; +$modal-transition: transform .3s ease-out !default; +$modal-scale-transform: scale(1.02) !default; +// scss-docs-end modal-variables + + +// Alerts +// +// Define alert colors, border radius, and padding. + +// scss-docs-start alert-variables +$alert-padding-y: $spacer !default; +$alert-padding-x: $spacer !default; +$alert-margin-bottom: 1rem !default; +$alert-border-radius: $border-radius !default; +$alert-link-font-weight: $font-weight-bold !default; +$alert-border-width: $border-width !default; +$alert-bg-scale: -80% !default; +$alert-border-scale: -70% !default; +$alert-color-scale: 40% !default; +$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side +// scss-docs-end alert-variables + + +// Progress bars + +// scss-docs-start progress-variables +$progress-height: 1rem !default; +$progress-font-size: $font-size-base * .75 !default; +$progress-bg: $gray-200 !default; +$progress-border-radius: $border-radius !default; +$progress-box-shadow: $box-shadow-inset !default; +$progress-bar-color: $white !default; +$progress-bar-bg: $primary !default; +$progress-bar-animation-timing: 1s linear infinite !default; +$progress-bar-transition: width .6s ease !default; +// scss-docs-end progress-variables + + +// List group + +// scss-docs-start list-group-variables +$list-group-color: $gray-900 !default; +$list-group-bg: $white !default; +$list-group-border-color: rgba($black, .125) !default; +$list-group-border-width: $border-width !default; +$list-group-border-radius: $border-radius !default; + +$list-group-item-padding-y: $spacer * .5 !default; +$list-group-item-padding-x: $spacer !default; +$list-group-item-bg-scale: -80% !default; +$list-group-item-color-scale: 40% !default; + +$list-group-hover-bg: $gray-100 !default; +$list-group-active-color: $component-active-color !default; +$list-group-active-bg: $component-active-bg !default; +$list-group-active-border-color: $list-group-active-bg !default; + +$list-group-disabled-color: $gray-600 !default; +$list-group-disabled-bg: $list-group-bg !default; + +$list-group-action-color: $gray-700 !default; +$list-group-action-hover-color: $list-group-action-color !default; + +$list-group-action-active-color: $body-color !default; +$list-group-action-active-bg: $gray-200 !default; +// scss-docs-end list-group-variables + + +// Image thumbnails + +// scss-docs-start thumbnail-variables +$thumbnail-padding: .25rem !default; +$thumbnail-bg: $body-bg !default; +$thumbnail-border-width: $border-width !default; +$thumbnail-border-color: var(--#{$prefix}border-color) !default; +$thumbnail-border-radius: $border-radius !default; +$thumbnail-box-shadow: $box-shadow-sm !default; +// scss-docs-end thumbnail-variables + + +// Figures + +// scss-docs-start figure-variables +$figure-caption-font-size: $small-font-size !default; +$figure-caption-color: $gray-600 !default; +// scss-docs-end figure-variables + + +// Breadcrumbs + +// scss-docs-start breadcrumb-variables +$breadcrumb-font-size: null !default; +$breadcrumb-padding-y: 0 !default; +$breadcrumb-padding-x: 0 !default; +$breadcrumb-item-padding-x: .5rem !default; +$breadcrumb-margin-bottom: 1rem !default; +$breadcrumb-bg: null !default; +$breadcrumb-divider-color: $gray-600 !default; +$breadcrumb-active-color: $gray-600 !default; +$breadcrumb-divider: quote("/") !default; +$breadcrumb-divider-flipped: $breadcrumb-divider !default; +$breadcrumb-border-radius: null !default; +// scss-docs-end breadcrumb-variables + +// Carousel + +// scss-docs-start carousel-variables +$carousel-control-color: $white !default; +$carousel-control-width: 15% !default; +$carousel-control-opacity: .5 !default; +$carousel-control-hover-opacity: .9 !default; +$carousel-control-transition: opacity .15s ease !default; + +$carousel-indicator-width: 30px !default; +$carousel-indicator-height: 3px !default; +$carousel-indicator-hit-area-height: 10px !default; +$carousel-indicator-spacer: 3px !default; +$carousel-indicator-opacity: .5 !default; +$carousel-indicator-active-bg: $white !default; +$carousel-indicator-active-opacity: 1 !default; +$carousel-indicator-transition: opacity .6s ease !default; + +$carousel-caption-width: 70% !default; +$carousel-caption-color: $white !default; +$carousel-caption-padding-y: 1.25rem !default; +$carousel-caption-spacer: 1.25rem !default; + +$carousel-control-icon-width: 2rem !default; + +$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>") !default; +$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>") !default; + +$carousel-transition-duration: .6s !default; +$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`) +// scss-docs-end carousel-variables + +// scss-docs-start carousel-dark-variables +$carousel-dark-indicator-active-bg: $black !default; +$carousel-dark-caption-color: $black !default; +$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default; +// scss-docs-end carousel-dark-variables + + +// Spinners + +// scss-docs-start spinner-variables +$spinner-width: 2rem !default; +$spinner-height: $spinner-width !default; +$spinner-vertical-align: -.125em !default; +$spinner-border-width: .25em !default; +$spinner-animation-speed: .75s !default; + +$spinner-width-sm: 1rem !default; +$spinner-height-sm: $spinner-width-sm !default; +$spinner-border-width-sm: .2em !default; +// scss-docs-end spinner-variables + + +// Close + +// scss-docs-start close-variables +$btn-close-width: 1em !default; +$btn-close-height: $btn-close-width !default; +$btn-close-padding-x: .25em !default; +$btn-close-padding-y: $btn-close-padding-x !default; +$btn-close-color: $black !default; +$btn-close-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>") !default; +$btn-close-focus-shadow: $input-btn-focus-box-shadow !default; +$btn-close-opacity: .5 !default; +$btn-close-hover-opacity: .75 !default; +$btn-close-focus-opacity: 1 !default; +$btn-close-disabled-opacity: .25 !default; +$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default; +// scss-docs-end close-variables + + +// Offcanvas + +// scss-docs-start offcanvas-variables +$offcanvas-padding-y: $modal-inner-padding !default; +$offcanvas-padding-x: $modal-inner-padding !default; +$offcanvas-horizontal-width: 400px !default; +$offcanvas-vertical-height: 30vh !default; +$offcanvas-transition-duration: .3s !default; +$offcanvas-border-color: $modal-content-border-color !default; +$offcanvas-border-width: $modal-content-border-width !default; +$offcanvas-title-line-height: $modal-title-line-height !default; +$offcanvas-bg-color: $modal-content-bg !default; +$offcanvas-color: $modal-content-color !default; +$offcanvas-box-shadow: $modal-content-box-shadow-xs !default; +$offcanvas-backdrop-bg: $modal-backdrop-bg !default; +$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default; +// scss-docs-end offcanvas-variables + +// Code + +$code-font-size: $small-font-size !default; +$code-color: $pink !default; + +$kbd-padding-y: .1875rem !default; +$kbd-padding-x: .375rem !default; +$kbd-font-size: $code-font-size !default; +$kbd-color: var(--#{$prefix}body-bg) !default; +$kbd-bg: var(--#{$prefix}body-color) !default; +$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6 + +$pre-color: null !default; diff --git a/styles/bootstrap/bootstrap-grid.scss b/styles/bootstrap/bootstrap-grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..1c4cdd1a0f93d387ea0cd84af287ab739247be18 --- /dev/null +++ b/styles/bootstrap/bootstrap-grid.scss @@ -0,0 +1,64 @@ +@import "mixins/banner"; +@include bsBanner(Grid); + +$include-column-box-sizing: true !default; + +@import "functions"; +@import "variables"; +@import "maps"; + +@import "mixins/lists"; +@import "mixins/breakpoints"; +@import "mixins/container"; +@import "mixins/grid"; +@import "mixins/utilities"; + +@import "vendor/rfs"; + +@import "root"; + +@import "containers"; +@import "grid"; + +@import "utilities"; +// Only use the utilities we need +// stylelint-disable-next-line scss/dollar-variable-default +$utilities: map-get-multiple( + $utilities, + ( + "display", + "order", + "flex", + "flex-direction", + "flex-grow", + "flex-shrink", + "flex-wrap", + "justify-content", + "align-items", + "align-content", + "align-self", + "margin", + "margin-x", + "margin-y", + "margin-top", + "margin-end", + "margin-bottom", + "margin-start", + "negative-margin", + "negative-margin-x", + "negative-margin-y", + "negative-margin-top", + "negative-margin-end", + "negative-margin-bottom", + "negative-margin-start", + "padding", + "padding-x", + "padding-y", + "padding-top", + "padding-end", + "padding-bottom", + "padding-start", + ) +); + +@import "utilities/api"; diff --git a/styles/bootstrap/bootstrap-reboot.scss b/styles/bootstrap/bootstrap-reboot.scss new file mode 100644 index 0000000000000000000000000000000000000000..af527459438a09e23125ac6192cb897a7fbcf416 --- /dev/null +++ b/styles/bootstrap/bootstrap-reboot.scss @@ -0,0 +1,9 @@ +@import "mixins/banner"; +@include bsBanner(Reboot); + +@import "functions"; +@import "variables"; +@import "maps"; +@import "mixins"; +@import "root"; +@import "reboot"; diff --git a/styles/bootstrap/bootstrap-utilities.scss b/styles/bootstrap/bootstrap-utilities.scss new file mode 100644 index 0000000000000000000000000000000000000000..2b3dbc5fed7ab9415bac84f9172fad6031f1b3bc --- /dev/null +++ b/styles/bootstrap/bootstrap-utilities.scss @@ -0,0 +1,18 @@ +@import "mixins/banner"; +@include bsBanner(Utilities); + +// Configuration +@import "functions"; +@import "variables"; +@import "maps"; +@import "mixins"; +@import "utilities"; + +// Layout & components +@import "root"; + +// Helpers +@import "helpers"; + +// Utilities +@import "utilities/api"; diff --git a/styles/bootstrap/bootstrap.scss b/styles/bootstrap/bootstrap.scss new file mode 100644 index 0000000000000000000000000000000000000000..8f8296deff98d6dd4110f237d019cc765dbd2e34 --- /dev/null +++ b/styles/bootstrap/bootstrap.scss @@ -0,0 +1,51 @@ +@import "mixins/banner"; +@include bsBanner(""); + + +// scss-docs-start import-stack +// Configuration +@import "functions"; +@import "variables"; +@import "maps"; +@import "mixins"; +@import "utilities"; + +// Layout & components +@import "root"; +@import "reboot"; +@import "type"; +@import "images"; +@import "containers"; +@import "grid"; +@import "tables"; +@import "forms"; +@import "buttons"; +@import "transitions"; +@import "dropdown"; +@import "button-group"; +@import "nav"; +@import "navbar"; +@import "card"; +@import "accordion"; +@import "breadcrumb"; +@import "pagination"; +@import "badge"; +@import "alert"; +@import "progress"; +@import "list-group"; +@import "close"; +@import "toasts"; +@import "modal"; +@import "tooltip"; +@import "popover"; +@import "carousel"; +@import "spinners"; +@import "offcanvas"; +@import "placeholders"; + +// Helpers +@import "helpers"; + +// Utilities +@import "utilities/api"; +// scss-docs-end import-stack diff --git a/styles/bootstrap/forms/_floating-labels.scss b/styles/bootstrap/forms/_floating-labels.scss new file mode 100644 index 0000000000000000000000000000000000000000..6e5c9a75f5057403aa5da368863a0c5186dc3437 --- /dev/null +++ b/styles/bootstrap/forms/_floating-labels.scss @@ -0,0 +1,75 @@ +.form-floating { + position: relative; + + > .form-control, + > .form-control-plaintext, + > .form-select { + height: $form-floating-height; + line-height: $form-floating-line-height; + } + + > label { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; // allow textareas + padding: $form-floating-padding-y $form-floating-padding-x; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model + transform-origin: 0 0; + @include transition($form-floating-transition); + } + + > .form-control, + > .form-control-plaintext { + padding: $form-floating-padding-y $form-floating-padding-x; + + &::placeholder { + color: transparent; + } + + &:focus, + &:not(:placeholder-shown) { + padding-top: $form-floating-input-padding-t; + padding-bottom: $form-floating-input-padding-b; + } + // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped + &:-webkit-autofill { + padding-top: $form-floating-input-padding-t; + padding-bottom: $form-floating-input-padding-b; + } + } + + > .form-select { + padding-top: $form-floating-input-padding-t; + padding-bottom: $form-floating-input-padding-b; + } + + > .form-control:focus, + > .form-control:not(:placeholder-shown), + > .form-control-plaintext, + > .form-select { + ~ label { + opacity: $form-floating-label-opacity; + transform: $form-floating-label-transform; + } + } + // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped + > .form-control:-webkit-autofill { + ~ label { + opacity: $form-floating-label-opacity; + transform: $form-floating-label-transform; + } + } + + > .form-control-plaintext { + ~ label { + border-width: $input-border-width 0; // Required to properly position label text - as explained above + } + } +} diff --git a/styles/bootstrap/forms/_form-check.scss b/styles/bootstrap/forms/_form-check.scss new file mode 100644 index 0000000000000000000000000000000000000000..42a2a96073340759cf52d91baf8c44b7b1192adc --- /dev/null +++ b/styles/bootstrap/forms/_form-check.scss @@ -0,0 +1,175 @@ +// +// Check/radio +// + +.form-check { + display: block; + min-height: $form-check-min-height; + padding-left: $form-check-padding-start; + margin-bottom: $form-check-margin-bottom; + + .form-check-input { + float: left; + margin-left: $form-check-padding-start * -1; + } +} + +.form-check-reverse { + padding-right: $form-check-padding-start; + padding-left: 0; + text-align: right; + + .form-check-input { + float: right; + margin-right: $form-check-padding-start * -1; + margin-left: 0; + } +} + +.form-check-input { + width: $form-check-input-width; + height: $form-check-input-width; + margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height + vertical-align: top; + background-color: $form-check-input-bg; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: $form-check-input-border; + appearance: none; + print-color-adjust: exact; // Keep themed appearance for print + @include transition($form-check-transition); + + &[type="checkbox"] { + @include border-radius($form-check-input-border-radius); + } + + &[type="radio"] { + // stylelint-disable-next-line property-disallowed-list + border-radius: $form-check-radio-border-radius; + } + + &:active { + filter: $form-check-input-active-filter; + } + + &:focus { + border-color: $form-check-input-focus-border; + outline: 0; + box-shadow: $form-check-input-focus-box-shadow; + } + + &:checked { + background-color: $form-check-input-checked-bg-color; + border-color: $form-check-input-checked-border-color; + + &[type="checkbox"] { + @if $enable-gradients { + background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$prefix}gradient); + } @else { + background-image: escape-svg($form-check-input-checked-bg-image); + } + } + + &[type="radio"] { + @if $enable-gradients { + background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$prefix}gradient); + } @else { + background-image: escape-svg($form-check-radio-checked-bg-image); + } + } + } + + &[type="checkbox"]:indeterminate { + background-color: $form-check-input-indeterminate-bg-color; + border-color: $form-check-input-indeterminate-border-color; + + @if $enable-gradients { + background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$prefix}gradient); + } @else { + background-image: escape-svg($form-check-input-indeterminate-bg-image); + } + } + + &:disabled { + pointer-events: none; + filter: none; + opacity: $form-check-input-disabled-opacity; + } + + // Use disabled attribute in addition of :disabled pseudo-class + // See: https://github.com/twbs/bootstrap/issues/28247 + &[disabled], + &:disabled { + ~ .form-check-label { + cursor: default; + opacity: $form-check-label-disabled-opacity; + } + } +} + +.form-check-label { + color: $form-check-label-color; + cursor: $form-check-label-cursor; +} + +// +// Switch +// + +.form-switch { + padding-left: $form-switch-padding-start; + + .form-check-input { + width: $form-switch-width; + margin-left: $form-switch-padding-start * -1; + background-image: escape-svg($form-switch-bg-image); + background-position: left center; + @include border-radius($form-switch-border-radius); + @include transition($form-switch-transition); + + &:focus { + background-image: escape-svg($form-switch-focus-bg-image); + } + + &:checked { + background-position: $form-switch-checked-bg-position; + + @if $enable-gradients { + background-image: escape-svg($form-switch-checked-bg-image), var(--#{$prefix}gradient); + } @else { + background-image: escape-svg($form-switch-checked-bg-image); + } + } + } + + &.form-check-reverse { + padding-right: $form-switch-padding-start; + padding-left: 0; + + .form-check-input { + margin-right: $form-switch-padding-start * -1; + margin-left: 0; + } + } +} + +.form-check-inline { + display: inline-block; + margin-right: $form-check-inline-margin-end; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; + + &[disabled], + &:disabled { + + .btn { + pointer-events: none; + filter: none; + opacity: $form-check-btn-check-disabled-opacity; + } + } +} diff --git a/styles/bootstrap/forms/_form-control.scss b/styles/bootstrap/forms/_form-control.scss new file mode 100644 index 0000000000000000000000000000000000000000..e707c57ea2941112f478ffae1918ebc74ba9b1d9 --- /dev/null +++ b/styles/bootstrap/forms/_form-control.scss @@ -0,0 +1,194 @@ +// +// General form controls (plus a few specific high-level interventions) +// + +.form-control { + display: block; + width: 100%; + padding: $input-padding-y $input-padding-x; + font-family: $input-font-family; + @include font-size($input-font-size); + font-weight: $input-font-weight; + line-height: $input-line-height; + color: $input-color; + background-color: $input-bg; + background-clip: padding-box; + border: $input-border-width solid $input-border-color; + appearance: none; // Fix appearance for date inputs in Safari + + // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS. + @include border-radius($input-border-radius, 0); + + @include box-shadow($input-box-shadow); + @include transition($input-transition); + + &[type="file"] { + overflow: hidden; // prevent pseudo element button overlap + + &:not(:disabled):not([readonly]) { + cursor: pointer; + } + } + + // Customize the `:focus` state to imitate native WebKit styles. + &:focus { + color: $input-focus-color; + background-color: $input-focus-bg; + border-color: $input-focus-border-color; + outline: 0; + @if $enable-shadows { + @include box-shadow($input-box-shadow, $input-focus-box-shadow); + } @else { + // Avoid using mixin so we can pass custom focus shadow properly + box-shadow: $input-focus-box-shadow; + } + } + + // Add some height to date inputs on iOS + // https://github.com/twbs/bootstrap/issues/23307 + // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved + &::-webkit-date-and-time-value { + // Multiply line-height by 1em if it has no unit + height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height); + } + + // Placeholder + &::placeholder { + color: $input-placeholder-color; + // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526. + opacity: 1; + } + + // Disabled inputs + // + // HTML5 says that controls under a fieldset > legend:first-child won't be + // disabled if the fieldset is disabled. Due to implementation difficulty, we + // don't honor that edge case; we style them as disabled anyway. + &:disabled { + color: $input-disabled-color; + background-color: $input-disabled-bg; + border-color: $input-disabled-border-color; + // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655. + opacity: 1; + } + + // File input buttons theming + &::file-selector-button { + padding: $input-padding-y $input-padding-x; + margin: (-$input-padding-y) (-$input-padding-x); + margin-inline-end: $input-padding-x; + color: $form-file-button-color; + @include gradient-bg($form-file-button-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: $input-border-width; + border-radius: 0; // stylelint-disable-line property-disallowed-list + @include transition($btn-transition); + } + + &:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: $form-file-button-hover-bg; + } +} + +// Readonly controls as plain text +// +// Apply class to a readonly input to make it appear like regular plain +// text (without any border, background color, focus indicator) + +.form-control-plaintext { + display: block; + width: 100%; + padding: $input-padding-y 0; + margin-bottom: 0; // match inputs if this class comes on inputs with default margins + line-height: $input-line-height; + color: $input-plaintext-color; + background-color: transparent; + border: solid transparent; + border-width: $input-border-width 0; + + &:focus { + outline: 0; + } + + &.form-control-sm, + &.form-control-lg { + padding-right: 0; + padding-left: 0; + } +} + +// Form control sizing +// +// Build on `.form-control` with modifier classes to decrease or increase the +// height and font-size of form controls. +// +// Repeated in `_input_group.scss` to avoid Sass extend issues. + +.form-control-sm { + min-height: $input-height-sm; + padding: $input-padding-y-sm $input-padding-x-sm; + @include font-size($input-font-size-sm); + @include border-radius($input-border-radius-sm); + + &::file-selector-button { + padding: $input-padding-y-sm $input-padding-x-sm; + margin: (-$input-padding-y-sm) (-$input-padding-x-sm); + margin-inline-end: $input-padding-x-sm; + } +} + +.form-control-lg { + min-height: $input-height-lg; + padding: $input-padding-y-lg $input-padding-x-lg; + @include font-size($input-font-size-lg); + @include border-radius($input-border-radius-lg); + + &::file-selector-button { + padding: $input-padding-y-lg $input-padding-x-lg; + margin: (-$input-padding-y-lg) (-$input-padding-x-lg); + margin-inline-end: $input-padding-x-lg; + } +} + +// Make sure textareas don't shrink too much when resized +// https://github.com/twbs/bootstrap/pull/29124 +// stylelint-disable selector-no-qualifying-type +textarea { + &.form-control { + min-height: $input-height; + } + + &.form-control-sm { + min-height: $input-height-sm; + } + + &.form-control-lg { + min-height: $input-height-lg; + } +} +// stylelint-enable selector-no-qualifying-type + +.form-control-color { + width: $form-color-width; + height: $input-height; + padding: $input-padding-y; + + &:not(:disabled):not([readonly]) { + cursor: pointer; + } + + &::-moz-color-swatch { + border: 0 !important; // stylelint-disable-line declaration-no-important + @include border-radius($input-border-radius); + } + + &::-webkit-color-swatch { + @include border-radius($input-border-radius); + } + + &.form-control-sm { height: $input-height-sm; } + &.form-control-lg { height: $input-height-lg; } +} diff --git a/styles/bootstrap/forms/_form-range.scss b/styles/bootstrap/forms/_form-range.scss new file mode 100644 index 0000000000000000000000000000000000000000..6de42132ea05647f586bec81b9102334907a1f22 --- /dev/null +++ b/styles/bootstrap/forms/_form-range.scss @@ -0,0 +1,91 @@ +// Range +// +// Style range inputs the same across browsers. Vendor-specific rules for pseudo +// elements cannot be mixed. As such, there are no shared styles for focus or +// active states on prefixed selectors. + +.form-range { + width: 100%; + height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2); + padding: 0; // Need to reset padding + background-color: transparent; + appearance: none; + + &:focus { + outline: 0; + + // Pseudo-elements must be split across multiple rulesets to have an effect. + // No box-shadow() mixin for focus accessibility. + &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; } + &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; } + } + + &::-moz-focus-outer { + border: 0; + } + + &::-webkit-slider-thumb { + width: $form-range-thumb-width; + height: $form-range-thumb-height; + margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific + @include gradient-bg($form-range-thumb-bg); + border: $form-range-thumb-border; + @include border-radius($form-range-thumb-border-radius); + @include box-shadow($form-range-thumb-box-shadow); + @include transition($form-range-thumb-transition); + appearance: none; + + &:active { + @include gradient-bg($form-range-thumb-active-bg); + } + } + + &::-webkit-slider-runnable-track { + width: $form-range-track-width; + height: $form-range-track-height; + color: transparent; // Why? + cursor: $form-range-track-cursor; + background-color: $form-range-track-bg; + border-color: transparent; + @include border-radius($form-range-track-border-radius); + @include box-shadow($form-range-track-box-shadow); + } + + &::-moz-range-thumb { + width: $form-range-thumb-width; + height: $form-range-thumb-height; + @include gradient-bg($form-range-thumb-bg); + border: $form-range-thumb-border; + @include border-radius($form-range-thumb-border-radius); + @include box-shadow($form-range-thumb-box-shadow); + @include transition($form-range-thumb-transition); + appearance: none; + + &:active { + @include gradient-bg($form-range-thumb-active-bg); + } + } + + &::-moz-range-track { + width: $form-range-track-width; + height: $form-range-track-height; + color: transparent; + cursor: $form-range-track-cursor; + background-color: $form-range-track-bg; + border-color: transparent; // Firefox specific? + @include border-radius($form-range-track-border-radius); + @include box-shadow($form-range-track-box-shadow); + } + + &:disabled { + pointer-events: none; + + &::-webkit-slider-thumb { + background-color: $form-range-thumb-disabled-bg; + } + + &::-moz-range-thumb { + background-color: $form-range-thumb-disabled-bg; + } + } +} diff --git a/styles/bootstrap/forms/_form-select.scss b/styles/bootstrap/forms/_form-select.scss new file mode 100644 index 0000000000000000000000000000000000000000..78c34b8fd67dce1b7e3f63f88e963811cb3d168d --- /dev/null +++ b/styles/bootstrap/forms/_form-select.scss @@ -0,0 +1,71 @@ +// Select +// +// Replaces the browser default select with a custom one, mostly pulled from +// https://primer.github.io/. + +.form-select { + display: block; + width: 100%; + padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x; + -moz-padding-start: subtract($form-select-padding-x, 3px); // See https://github.com/twbs/bootstrap/issues/32636 + font-family: $form-select-font-family; + @include font-size($form-select-font-size); + font-weight: $form-select-font-weight; + line-height: $form-select-line-height; + color: $form-select-color; + background-color: $form-select-bg; + background-image: escape-svg($form-select-indicator); + background-repeat: no-repeat; + background-position: $form-select-bg-position; + background-size: $form-select-bg-size; + border: $form-select-border-width solid $form-select-border-color; + @include border-radius($form-select-border-radius, 0); + @include box-shadow($form-select-box-shadow); + @include transition($form-select-transition); + appearance: none; + + &:focus { + border-color: $form-select-focus-border-color; + outline: 0; + @if $enable-shadows { + @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow); + } @else { + // Avoid using mixin so we can pass custom focus shadow properly + box-shadow: $form-select-focus-box-shadow; + } + } + + &[multiple], + &[size]:not([size="1"]) { + padding-right: $form-select-padding-x; + background-image: none; + } + + &:disabled { + color: $form-select-disabled-color; + background-color: $form-select-disabled-bg; + border-color: $form-select-disabled-border-color; + } + + // Remove outline from select box in FF + &:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 $form-select-color; + } +} + +.form-select-sm { + padding-top: $form-select-padding-y-sm; + padding-bottom: $form-select-padding-y-sm; + padding-left: $form-select-padding-x-sm; + @include font-size($form-select-font-size-sm); + @include border-radius($form-select-border-radius-sm); +} + +.form-select-lg { + padding-top: $form-select-padding-y-lg; + padding-bottom: $form-select-padding-y-lg; + padding-left: $form-select-padding-x-lg; + @include font-size($form-select-font-size-lg); + @include border-radius($form-select-border-radius-lg); +} diff --git a/styles/bootstrap/forms/_form-text.scss b/styles/bootstrap/forms/_form-text.scss new file mode 100644 index 0000000000000000000000000000000000000000..f080d1a23437b8d2bfc4a0109dd998661fcff87f --- /dev/null +++ b/styles/bootstrap/forms/_form-text.scss @@ -0,0 +1,11 @@ +// +// Form text +// + +.form-text { + margin-top: $form-text-margin-top; + @include font-size($form-text-font-size); + font-style: $form-text-font-style; + font-weight: $form-text-font-weight; + color: $form-text-color; +} diff --git a/styles/bootstrap/forms/_input-group.scss b/styles/bootstrap/forms/_input-group.scss new file mode 100644 index 0000000000000000000000000000000000000000..247f74a7ac500137db2c666985beecbd404e18a6 --- /dev/null +++ b/styles/bootstrap/forms/_input-group.scss @@ -0,0 +1,132 @@ +// +// Base styles +// + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; // For form validation feedback + align-items: stretch; + width: 100%; + + > .form-control, + > .form-select, + > .form-floating { + position: relative; // For focus state's z-index + flex: 1 1 auto; + width: 1%; + min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size + } + + // Bring the "active" form control to the top of surrounding elements + > .form-control:focus, + > .form-select:focus, + > .form-floating:focus-within { + z-index: 5; + } + + // Ensure buttons are always above inputs for more visually pleasing borders. + // This isn't needed for `.input-group-text` since it shares the same border-color + // as our inputs. + .btn { + position: relative; + z-index: 2; + + &:focus { + z-index: 5; + } + } +} + + +// Textual addons +// +// Serves as a catch-all element for any text or radio/checkbox input you wish +// to prepend or append to an input. + +.input-group-text { + display: flex; + align-items: center; + padding: $input-group-addon-padding-y $input-group-addon-padding-x; + @include font-size($input-font-size); // Match inputs + font-weight: $input-group-addon-font-weight; + line-height: $input-line-height; + color: $input-group-addon-color; + text-align: center; + white-space: nowrap; + background-color: $input-group-addon-bg; + border: $input-border-width solid $input-group-addon-border-color; + @include border-radius($input-border-radius); +} + + +// Sizing +// +// Remix the default form control sizing classes into new ones for easier +// manipulation. + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: $input-padding-y-lg $input-padding-x-lg; + @include font-size($input-font-size-lg); + @include border-radius($input-border-radius-lg); +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: $input-padding-y-sm $input-padding-x-sm; + @include font-size($input-font-size-sm); + @include border-radius($input-border-radius-sm); +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: $form-select-padding-x + $form-select-indicator-padding; +} + + +// Rounded corners +// +// These rulesets must come after the sizing ones to properly override sm and lg +// border-radius values when extending. They're more specific than we'd like +// with the `.input-group >` part, but without it, we cannot override the sizing. + +// stylelint-disable-next-line no-duplicate-selectors +.input-group { + &:not(.has-validation) { + > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), + > .dropdown-toggle:nth-last-child(n + 3), + > .form-floating:not(:last-child) > .form-control, + > .form-floating:not(:last-child) > .form-select { + @include border-end-radius(0); + } + } + + &.has-validation { + > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), + > .dropdown-toggle:nth-last-child(n + 4), + > .form-floating:nth-last-child(n + 3) > .form-control, + > .form-floating:nth-last-child(n + 3) > .form-select { + @include border-end-radius(0); + } + } + + $validation-messages: ""; + @each $state in map-keys($form-validation-states) { + $validation-messages: $validation-messages + ":not(." + unquote($state) + "-tooltip)" + ":not(." + unquote($state) + "-feedback)"; + } + + > :not(:first-child):not(.dropdown-menu)#{$validation-messages} { + margin-left: -$input-border-width; + @include border-start-radius(0); + } + + > .form-floating:not(:first-child) > .form-control, + > .form-floating:not(:first-child) > .form-select { + @include border-start-radius(0); + } +} diff --git a/styles/bootstrap/forms/_labels.scss b/styles/bootstrap/forms/_labels.scss new file mode 100644 index 0000000000000000000000000000000000000000..39ecafcd2f0d5be8843b4be9ff5d7ac0d608c350 --- /dev/null +++ b/styles/bootstrap/forms/_labels.scss @@ -0,0 +1,36 @@ +// +// Labels +// + +.form-label { + margin-bottom: $form-label-margin-bottom; + @include font-size($form-label-font-size); + font-style: $form-label-font-style; + font-weight: $form-label-font-weight; + color: $form-label-color; +} + +// For use with horizontal and inline forms, when you need the label (or legend) +// text to align with the form controls. +.col-form-label { + padding-top: add($input-padding-y, $input-border-width); + padding-bottom: add($input-padding-y, $input-border-width); + margin-bottom: 0; // Override the `<legend>` default + @include font-size(inherit); // Override the `<legend>` default + font-style: $form-label-font-style; + font-weight: $form-label-font-weight; + line-height: $input-line-height; + color: $form-label-color; +} + +.col-form-label-lg { + padding-top: add($input-padding-y-lg, $input-border-width); + padding-bottom: add($input-padding-y-lg, $input-border-width); + @include font-size($input-font-size-lg); +} + +.col-form-label-sm { + padding-top: add($input-padding-y-sm, $input-border-width); + padding-bottom: add($input-padding-y-sm, $input-border-width); + @include font-size($input-font-size-sm); +} diff --git a/styles/bootstrap/forms/_validation.scss b/styles/bootstrap/forms/_validation.scss new file mode 100644 index 0000000000000000000000000000000000000000..c48123a716c8d2df599e7297d9265f68570d444b --- /dev/null +++ b/styles/bootstrap/forms/_validation.scss @@ -0,0 +1,12 @@ +// Form validation +// +// Provide feedback to users when form field values are valid or invalid. Works +// primarily for client-side validation via scoped `:invalid` and `:valid` +// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for +// server-side validation. + +// scss-docs-start form-validation-states-loop +@each $state, $data in $form-validation-states { + @include form-validation-state($state, $data...); +} +// scss-docs-end form-validation-states-loop diff --git a/styles/bootstrap/helpers/_clearfix.scss b/styles/bootstrap/helpers/_clearfix.scss new file mode 100644 index 0000000000000000000000000000000000000000..e92522a94d82a571b84ac1de470bcb70b176023c --- /dev/null +++ b/styles/bootstrap/helpers/_clearfix.scss @@ -0,0 +1,3 @@ +.clearfix { + @include clearfix(); +} diff --git a/styles/bootstrap/helpers/_color-bg.scss b/styles/bootstrap/helpers/_color-bg.scss new file mode 100644 index 0000000000000000000000000000000000000000..b5ce7709c178b83b619217333125bcb33452a19c --- /dev/null +++ b/styles/bootstrap/helpers/_color-bg.scss @@ -0,0 +1,10 @@ +// stylelint-disable function-name-case + +// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251 +@each $color, $value in $theme-colors { + $color-rgb: to-rgb($value); + .text-bg-#{$color} { + color: color-contrast($value) if($enable-important-utilities, !important, null); + background-color: RGBA($color-rgb, var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null); + } +} diff --git a/styles/bootstrap/helpers/_colored-links.scss b/styles/bootstrap/helpers/_colored-links.scss new file mode 100644 index 0000000000000000000000000000000000000000..1cb41828018f6ae1d8d09a825aa8732d3e950839 --- /dev/null +++ b/styles/bootstrap/helpers/_colored-links.scss @@ -0,0 +1,12 @@ +@each $color, $value in $theme-colors { + .link-#{$color} { + color: $value !important; // stylelint-disable-line declaration-no-important + + @if $link-shade-percentage != 0 { + &:hover, + &:focus { + color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage)) !important; // stylelint-disable-line declaration-no-important + } + } + } +} diff --git a/styles/bootstrap/helpers/_position.scss b/styles/bootstrap/helpers/_position.scss new file mode 100644 index 0000000000000000000000000000000000000000..59103d94361779f54d3df4078fa375893ae7f8ed --- /dev/null +++ b/styles/bootstrap/helpers/_position.scss @@ -0,0 +1,36 @@ +// Shorthand + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: $zindex-fixed; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: $zindex-fixed; +} + +// Responsive sticky top and bottom +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .sticky#{$infix}-top { + position: sticky; + top: 0; + z-index: $zindex-sticky; + } + + .sticky#{$infix}-bottom { + position: sticky; + bottom: 0; + z-index: $zindex-sticky; + } + } +} diff --git a/styles/bootstrap/helpers/_ratio.scss b/styles/bootstrap/helpers/_ratio.scss new file mode 100644 index 0000000000000000000000000000000000000000..b6a7654c523064d27cea753e2a6f021436954a94 --- /dev/null +++ b/styles/bootstrap/helpers/_ratio.scss @@ -0,0 +1,26 @@ +// Credit: Nicolas Gallagher and SUIT CSS. + +.ratio { + position: relative; + width: 100%; + + &::before { + display: block; + padding-top: var(--#{$prefix}aspect-ratio); + content: ""; + } + + > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } +} + +@each $key, $ratio in $aspect-ratios { + .ratio-#{$key} { + --#{$prefix}aspect-ratio: #{$ratio}; + } +} diff --git a/styles/bootstrap/helpers/_stacks.scss b/styles/bootstrap/helpers/_stacks.scss new file mode 100644 index 0000000000000000000000000000000000000000..6cd237ae6d654ed9ee710c9a04208e52afe3d634 --- /dev/null +++ b/styles/bootstrap/helpers/_stacks.scss @@ -0,0 +1,15 @@ +// scss-docs-start stacks +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} +// scss-docs-end stacks diff --git a/styles/bootstrap/helpers/_stretched-link.scss b/styles/bootstrap/helpers/_stretched-link.scss new file mode 100644 index 0000000000000000000000000000000000000000..71a1c755afa64426e48948d6dd47d4317cf9da19 --- /dev/null +++ b/styles/bootstrap/helpers/_stretched-link.scss @@ -0,0 +1,15 @@ +// +// Stretched link +// + +.stretched-link { + &::#{$stretched-link-pseudo-element} { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: $stretched-link-z-index; + content: ""; + } +} diff --git a/styles/bootstrap/helpers/_text-truncation.scss b/styles/bootstrap/helpers/_text-truncation.scss new file mode 100644 index 0000000000000000000000000000000000000000..6421dac9a85271cba3f65b5e7116c7fd907b9e72 --- /dev/null +++ b/styles/bootstrap/helpers/_text-truncation.scss @@ -0,0 +1,7 @@ +// +// Text truncation +// + +.text-truncate { + @include text-truncate(); +} diff --git a/styles/bootstrap/helpers/_visually-hidden.scss b/styles/bootstrap/helpers/_visually-hidden.scss new file mode 100644 index 0000000000000000000000000000000000000000..4760ff03d19c1fc18f53160c4b34e2468fbec0d8 --- /dev/null +++ b/styles/bootstrap/helpers/_visually-hidden.scss @@ -0,0 +1,8 @@ +// +// Visually hidden +// + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + @include visually-hidden(); +} diff --git a/styles/bootstrap/helpers/_vr.scss b/styles/bootstrap/helpers/_vr.scss new file mode 100644 index 0000000000000000000000000000000000000000..9bca099536c2d78bd818a827b3634f1c63400c74 --- /dev/null +++ b/styles/bootstrap/helpers/_vr.scss @@ -0,0 +1,8 @@ +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentcolor; + opacity: $hr-opacity; +} diff --git a/styles/bootstrap/mixins/_alert.scss b/styles/bootstrap/mixins/_alert.scss new file mode 100644 index 0000000000000000000000000000000000000000..231f068ec436a748252a717856730c0253c7c3ef --- /dev/null +++ b/styles/bootstrap/mixins/_alert.scss @@ -0,0 +1,15 @@ +// scss-docs-start alert-variant-mixin +@mixin alert-variant($background, $border, $color) { + --#{$prefix}alert-color: #{$color}; + --#{$prefix}alert-bg: #{$background}; + --#{$prefix}alert-border-color: #{$border}; + + @if $enable-gradients { + background-image: var(--#{$prefix}gradient); + } + + .alert-link { + color: shade-color($color, 20%); + } +} +// scss-docs-end alert-variant-mixin diff --git a/styles/bootstrap/mixins/_backdrop.scss b/styles/bootstrap/mixins/_backdrop.scss new file mode 100644 index 0000000000000000000000000000000000000000..9705ae9eea54f094bf2359cd8f692bde2f08d4c4 --- /dev/null +++ b/styles/bootstrap/mixins/_backdrop.scss @@ -0,0 +1,14 @@ +// Shared between modals and offcanvases +@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) { + position: fixed; + top: 0; + left: 0; + z-index: $zindex; + width: 100vw; + height: 100vh; + background-color: $backdrop-bg; + + // Fade for backdrop + &.fade { opacity: 0; } + &.show { opacity: $backdrop-opacity; } +} diff --git a/styles/bootstrap/mixins/_banner.scss b/styles/bootstrap/mixins/_banner.scss new file mode 100644 index 0000000000000000000000000000000000000000..97ec9d1ee72f0dc5b416b3f9757f8b4e55e9f856 --- /dev/null +++ b/styles/bootstrap/mixins/_banner.scss @@ -0,0 +1,9 @@ +@mixin bsBanner($file) { + /*! + * Bootstrap #{$file} v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +} + diff --git a/styles/bootstrap/mixins/_border-radius.scss b/styles/bootstrap/mixins/_border-radius.scss new file mode 100644 index 0000000000000000000000000000000000000000..616decbce315dfd273605fa67fb74e99ed475b1a --- /dev/null +++ b/styles/bootstrap/mixins/_border-radius.scss @@ -0,0 +1,78 @@ +// stylelint-disable property-disallowed-list +// Single side border-radius + +// Helper function to replace negative values with 0 +@function valid-radius($radius) { + $return: (); + @each $value in $radius { + @if type-of($value) == number { + $return: append($return, max($value, 0)); + } @else { + $return: append($return, $value); + } + } + @return $return; +} + +// scss-docs-start border-radius-mixins +@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) { + @if $enable-rounded { + border-radius: valid-radius($radius); + } + @else if $fallback-border-radius != false { + border-radius: $fallback-border-radius; + } +} + +@mixin border-top-radius($radius: $border-radius) { + @if $enable-rounded { + border-top-left-radius: valid-radius($radius); + border-top-right-radius: valid-radius($radius); + } +} + +@mixin border-end-radius($radius: $border-radius) { + @if $enable-rounded { + border-top-right-radius: valid-radius($radius); + border-bottom-right-radius: valid-radius($radius); + } +} + +@mixin border-bottom-radius($radius: $border-radius) { + @if $enable-rounded { + border-bottom-right-radius: valid-radius($radius); + border-bottom-left-radius: valid-radius($radius); + } +} + +@mixin border-start-radius($radius: $border-radius) { + @if $enable-rounded { + border-top-left-radius: valid-radius($radius); + border-bottom-left-radius: valid-radius($radius); + } +} + +@mixin border-top-start-radius($radius: $border-radius) { + @if $enable-rounded { + border-top-left-radius: valid-radius($radius); + } +} + +@mixin border-top-end-radius($radius: $border-radius) { + @if $enable-rounded { + border-top-right-radius: valid-radius($radius); + } +} + +@mixin border-bottom-end-radius($radius: $border-radius) { + @if $enable-rounded { + border-bottom-right-radius: valid-radius($radius); + } +} + +@mixin border-bottom-start-radius($radius: $border-radius) { + @if $enable-rounded { + border-bottom-left-radius: valid-radius($radius); + } +} +// scss-docs-end border-radius-mixins diff --git a/styles/bootstrap/mixins/_box-shadow.scss b/styles/bootstrap/mixins/_box-shadow.scss new file mode 100644 index 0000000000000000000000000000000000000000..4172541f3fe5b539778a05ee99ec9e26616a7ca6 --- /dev/null +++ b/styles/bootstrap/mixins/_box-shadow.scss @@ -0,0 +1,18 @@ +@mixin box-shadow($shadow...) { + @if $enable-shadows { + $result: (); + + @each $value in $shadow { + @if $value != null { + $result: append($result, $value, "comma"); + } + @if $value == none and length($shadow) > 1 { + @warn "The keyword 'none' must be used as a single argument."; + } + } + + @if (length($result) > 0) { + box-shadow: $result; + } + } +} diff --git a/styles/bootstrap/mixins/_breakpoints.scss b/styles/bootstrap/mixins/_breakpoints.scss new file mode 100644 index 0000000000000000000000000000000000000000..286be893d7fcb8dc6f83642bda8a8e91f237760f --- /dev/null +++ b/styles/bootstrap/mixins/_breakpoints.scss @@ -0,0 +1,127 @@ +// Breakpoint viewport sizes and media queries. +// +// Breakpoints are defined as a map of (name: minimum width), order from small to large: +// +// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px) +// +// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default. + +// Name of the next breakpoint, or null for the last breakpoint. +// +// >> breakpoint-next(sm) +// md +// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)) +// md +// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl)) +// md +@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { + $n: index($breakpoint-names, $name); + @if not $n { + @error "breakpoint `#{$name}` not found in `#{$breakpoints}`"; + } + @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null); +} + +// Minimum breakpoint width. Null for the smallest (first) breakpoint. +// +// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)) +// 576px +@function breakpoint-min($name, $breakpoints: $grid-breakpoints) { + $min: map-get($breakpoints, $name); + @return if($min != 0, $min, null); +} + +// Maximum breakpoint width. +// The maximum value is reduced by 0.02px to work around the limitations of +// `min-` and `max-` prefixes and viewports with fractional widths. +// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max +// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari. +// See https://bugs.webkit.org/show_bug.cgi?id=178261 +// +// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)) +// 767.98px +@function breakpoint-max($name, $breakpoints: $grid-breakpoints) { + $max: map-get($breakpoints, $name); + @return if($max and $max > 0, $max - .02, null); +} + +// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front. +// Useful for making responsive utilities. +// +// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)) +// "" (Returns a blank string) +// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)) +// "-sm" +@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) { + @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}"); +} + +// Media of at least the minimum breakpoint width. No query for the smallest breakpoint. +// Makes the @content apply to the given breakpoint and wider. +@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) { + $min: breakpoint-min($name, $breakpoints); + @if $min { + @media (min-width: $min) { + @content; + } + } @else { + @content; + } +} + +// Media of at most the maximum breakpoint width. No query for the largest breakpoint. +// Makes the @content apply to the given breakpoint and narrower. +@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) { + $max: breakpoint-max($name, $breakpoints); + @if $max { + @media (max-width: $max) { + @content; + } + } @else { + @content; + } +} + +// Media that spans multiple breakpoint widths. +// Makes the @content apply between the min and max breakpoints +@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) { + $min: breakpoint-min($lower, $breakpoints); + $max: breakpoint-max($upper, $breakpoints); + + @if $min != null and $max != null { + @media (min-width: $min) and (max-width: $max) { + @content; + } + } @else if $max == null { + @include media-breakpoint-up($lower, $breakpoints) { + @content; + } + } @else if $min == null { + @include media-breakpoint-down($upper, $breakpoints) { + @content; + } + } +} + +// Media between the breakpoint's minimum and maximum widths. +// No minimum for the smallest breakpoint, and no maximum for the largest one. +// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower. +@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) { + $min: breakpoint-min($name, $breakpoints); + $next: breakpoint-next($name, $breakpoints); + $max: breakpoint-max($next, $breakpoints); + + @if $min != null and $max != null { + @media (min-width: $min) and (max-width: $max) { + @content; + } + } @else if $max == null { + @include media-breakpoint-up($name, $breakpoints) { + @content; + } + } @else if $min == null { + @include media-breakpoint-down($next, $breakpoints) { + @content; + } + } +} diff --git a/styles/bootstrap/mixins/_buttons.scss b/styles/bootstrap/mixins/_buttons.scss new file mode 100644 index 0000000000000000000000000000000000000000..cf087fda78096c4b90fb3eb25bd1ae254ece220c --- /dev/null +++ b/styles/bootstrap/mixins/_buttons.scss @@ -0,0 +1,70 @@ +// Button variants +// +// Easily pump out default styles, as well as :hover, :focus, :active, +// and disabled options for all buttons + +// scss-docs-start btn-variant-mixin +@mixin button-variant( + $background, + $border, + $color: color-contrast($background), + $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)), + $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)), + $hover-color: color-contrast($hover-background), + $active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)), + $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)), + $active-color: color-contrast($active-background), + $disabled-background: $background, + $disabled-border: $border, + $disabled-color: color-contrast($disabled-background) +) { + --#{$prefix}btn-color: #{$color}; + --#{$prefix}btn-bg: #{$background}; + --#{$prefix}btn-border-color: #{$border}; + --#{$prefix}btn-hover-color: #{$hover-color}; + --#{$prefix}btn-hover-bg: #{$hover-background}; + --#{$prefix}btn-hover-border-color: #{$hover-border}; + --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix($color, $border, 15%))}; + --#{$prefix}btn-active-color: #{$active-color}; + --#{$prefix}btn-active-bg: #{$active-background}; + --#{$prefix}btn-active-border-color: #{$active-border}; + --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow}; + --#{$prefix}btn-disabled-color: #{$disabled-color}; + --#{$prefix}btn-disabled-bg: #{$disabled-background}; + --#{$prefix}btn-disabled-border-color: #{$disabled-border}; +} +// scss-docs-end btn-variant-mixin + +// scss-docs-start btn-outline-variant-mixin +@mixin button-outline-variant( + $color, + $color-hover: color-contrast($color), + $active-background: $color, + $active-border: $color, + $active-color: color-contrast($active-background) +) { + --#{$prefix}btn-color: #{$color}; + --#{$prefix}btn-border-color: #{$color}; + --#{$prefix}btn-hover-color: #{$color-hover}; + --#{$prefix}btn-hover-bg: #{$active-background}; + --#{$prefix}btn-hover-border-color: #{$active-border}; + --#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)}; + --#{$prefix}btn-active-color: #{$active-color}; + --#{$prefix}btn-active-bg: #{$active-background}; + --#{$prefix}btn-active-border-color: #{$active-border}; + --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow}; + --#{$prefix}btn-disabled-color: #{$color}; + --#{$prefix}btn-disabled-bg: transparent; + --#{$prefix}btn-disabled-border-color: #{$color}; + --#{$prefix}gradient: none; +} +// scss-docs-end btn-outline-variant-mixin + +// scss-docs-start btn-size-mixin +@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) { + --#{$prefix}btn-padding-y: #{$padding-y}; + --#{$prefix}btn-padding-x: #{$padding-x}; + @include rfs($font-size, --#{$prefix}btn-font-size); + --#{$prefix}btn-border-radius: #{$border-radius}; +} +// scss-docs-end btn-size-mixin diff --git a/styles/bootstrap/mixins/_caret.scss b/styles/bootstrap/mixins/_caret.scss new file mode 100644 index 0000000000000000000000000000000000000000..4b0f0360ba21f25b85ea5ec4f7c78e1abd7344e7 --- /dev/null +++ b/styles/bootstrap/mixins/_caret.scss @@ -0,0 +1,64 @@ +// scss-docs-start caret-mixins +@mixin caret-down { + border-top: $caret-width solid; + border-right: $caret-width solid transparent; + border-bottom: 0; + border-left: $caret-width solid transparent; +} + +@mixin caret-up { + border-top: 0; + border-right: $caret-width solid transparent; + border-bottom: $caret-width solid; + border-left: $caret-width solid transparent; +} + +@mixin caret-end { + border-top: $caret-width solid transparent; + border-right: 0; + border-bottom: $caret-width solid transparent; + border-left: $caret-width solid; +} + +@mixin caret-start { + border-top: $caret-width solid transparent; + border-right: $caret-width solid; + border-bottom: $caret-width solid transparent; +} + +@mixin caret($direction: down) { + @if $enable-caret { + &::after { + display: inline-block; + margin-left: $caret-spacing; + vertical-align: $caret-vertical-align; + content: ""; + @if $direction == down { + @include caret-down(); + } @else if $direction == up { + @include caret-up(); + } @else if $direction == end { + @include caret-end(); + } + } + + @if $direction == start { + &::after { + display: none; + } + + &::before { + display: inline-block; + margin-right: $caret-spacing; + vertical-align: $caret-vertical-align; + content: ""; + @include caret-start(); + } + } + + &:empty::after { + margin-left: 0; + } + } +} +// scss-docs-end caret-mixins diff --git a/styles/bootstrap/mixins/_clearfix.scss b/styles/bootstrap/mixins/_clearfix.scss new file mode 100644 index 0000000000000000000000000000000000000000..ffc62bb285df049f1957dfa4088592b07728c7a0 --- /dev/null +++ b/styles/bootstrap/mixins/_clearfix.scss @@ -0,0 +1,9 @@ +// scss-docs-start clearfix +@mixin clearfix() { + &::after { + display: block; + clear: both; + content: ""; + } +} +// scss-docs-end clearfix diff --git a/styles/bootstrap/mixins/_color-scheme.scss b/styles/bootstrap/mixins/_color-scheme.scss new file mode 100644 index 0000000000000000000000000000000000000000..90497aa0a91bb0ceb77c08b8651dbbacdcee3022 --- /dev/null +++ b/styles/bootstrap/mixins/_color-scheme.scss @@ -0,0 +1,7 @@ +// scss-docs-start mixin-color-scheme +@mixin color-scheme($name) { + @media (prefers-color-scheme: #{$name}) { + @content; + } +} +// scss-docs-end mixin-color-scheme diff --git a/styles/bootstrap/mixins/_container.scss b/styles/bootstrap/mixins/_container.scss new file mode 100644 index 0000000000000000000000000000000000000000..b9f33519e2c010e08d193a3d29ab1fd66ce93fda --- /dev/null +++ b/styles/bootstrap/mixins/_container.scss @@ -0,0 +1,11 @@ +// Container mixins + +@mixin make-container($gutter: $container-padding-x) { + --#{$prefix}gutter-x: #{$gutter}; + --#{$prefix}gutter-y: 0; + width: 100%; + padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list + padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list + margin-right: auto; + margin-left: auto; +} diff --git a/styles/bootstrap/mixins/_deprecate.scss b/styles/bootstrap/mixins/_deprecate.scss new file mode 100644 index 0000000000000000000000000000000000000000..df070bc59634213b5f9d49b4d6169d61dd6ac40d --- /dev/null +++ b/styles/bootstrap/mixins/_deprecate.scss @@ -0,0 +1,10 @@ +// Deprecate mixin +// +// This mixin can be used to deprecate mixins or functions. +// `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to +// some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) +@mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { + @if ($enable-deprecation-messages != false and $ignore-warning != true) { + @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; + } +} diff --git a/styles/bootstrap/mixins/_forms.scss b/styles/bootstrap/mixins/_forms.scss new file mode 100644 index 0000000000000000000000000000000000000000..2a853a789451bf7493e54fb6bd425a832f622bc4 --- /dev/null +++ b/styles/bootstrap/mixins/_forms.scss @@ -0,0 +1,152 @@ +// This mixin uses an `if()` technique to be compatible with Dart Sass +// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details + +// scss-docs-start form-validation-mixins +@mixin form-validation-state-selector($state) { + @if ($state == "valid" or $state == "invalid") { + .was-validated #{if(&, "&", "")}:#{$state}, + #{if(&, "&", "")}.is-#{$state} { + @content; + } + } @else { + #{if(&, "&", "")}.is-#{$state} { + @content; + } + } +} + +@mixin form-validation-state( + $state, + $color, + $icon, + $tooltip-color: color-contrast($color), + $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity), + $focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity) +) { + .#{$state}-feedback { + display: none; + width: 100%; + margin-top: $form-feedback-margin-top; + @include font-size($form-feedback-font-size); + font-style: $form-feedback-font-style; + color: $color; + } + + .#{$state}-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; // Contain to parent when possible + padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x; + margin-top: .1rem; + @include font-size($form-feedback-tooltip-font-size); + line-height: $form-feedback-tooltip-line-height; + color: $tooltip-color; + background-color: $tooltip-bg-color; + @include border-radius($form-feedback-tooltip-border-radius); + } + + @include form-validation-state-selector($state) { + ~ .#{$state}-feedback, + ~ .#{$state}-tooltip { + display: block; + } + } + + .form-control { + @include form-validation-state-selector($state) { + border-color: $color; + + @if $enable-validation-icons { + padding-right: $input-height-inner; + background-image: escape-svg($icon); + background-repeat: no-repeat; + background-position: right $input-height-inner-quarter center; + background-size: $input-height-inner-half $input-height-inner-half; + } + + &:focus { + border-color: $color; + box-shadow: $focus-box-shadow; + } + } + } + + // stylelint-disable-next-line selector-no-qualifying-type + textarea.form-control { + @include form-validation-state-selector($state) { + @if $enable-validation-icons { + padding-right: $input-height-inner; + background-position: top $input-height-inner-quarter right $input-height-inner-quarter; + } + } + } + + .form-select { + @include form-validation-state-selector($state) { + border-color: $color; + + @if $enable-validation-icons { + &:not([multiple]):not([size]), + &:not([multiple])[size="1"] { + padding-right: $form-select-feedback-icon-padding-end; + background-image: escape-svg($form-select-indicator), escape-svg($icon); + background-position: $form-select-bg-position, $form-select-feedback-icon-position; + background-size: $form-select-bg-size, $form-select-feedback-icon-size; + } + } + + &:focus { + border-color: $color; + box-shadow: $focus-box-shadow; + } + } + } + + .form-control-color { + @include form-validation-state-selector($state) { + @if $enable-validation-icons { + width: add($form-color-width, $input-height-inner); + } + } + } + + .form-check-input { + @include form-validation-state-selector($state) { + border-color: $color; + + &:checked { + background-color: $color; + } + + &:focus { + box-shadow: $focus-box-shadow; + } + + ~ .form-check-label { + color: $color; + } + } + } + .form-check-inline .form-check-input { + ~ .#{$state}-feedback { + margin-left: .5em; + } + } + + .input-group { + > .form-control:not(:focus), + > .form-select:not(:focus), + > .form-floating:not(:focus-within) { + @include form-validation-state-selector($state) { + @if $state == "valid" { + z-index: 3; + } @else if $state == "invalid" { + z-index: 4; + } + } + } + } +} +// scss-docs-end form-validation-mixins diff --git a/styles/bootstrap/mixins/_gradients.scss b/styles/bootstrap/mixins/_gradients.scss new file mode 100644 index 0000000000000000000000000000000000000000..608e18df2eb94f9e89c237a8130a8708c0748013 --- /dev/null +++ b/styles/bootstrap/mixins/_gradients.scss @@ -0,0 +1,47 @@ +// Gradients + +// scss-docs-start gradient-bg-mixin +@mixin gradient-bg($color: null) { + background-color: $color; + + @if $enable-gradients { + background-image: var(--#{$prefix}gradient); + } +} +// scss-docs-end gradient-bg-mixin + +// scss-docs-start gradient-mixins +// Horizontal gradient, from left to right +// +// Creates two color stops, start and end, by specifying a color and position for each color stop. +@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { + background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); +} + +// Vertical gradient, from top to bottom +// +// Creates two color stops, start and end, by specifying a color and position for each color stop. +@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) { + background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); +} + +@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) { + background-image: linear-gradient($deg, $start-color, $end-color); +} + +@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { + background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); +} + +@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { + background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); +} + +@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) { + background-image: radial-gradient(circle, $inner-color, $outer-color); +} + +@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) { + background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); +} +// scss-docs-end gradient-mixins diff --git a/styles/bootstrap/mixins/_grid.scss b/styles/bootstrap/mixins/_grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..38e2239fdb58be4d14ee70fa7cfb311eae2b37fb --- /dev/null +++ b/styles/bootstrap/mixins/_grid.scss @@ -0,0 +1,151 @@ +// Grid system +// +// Generate semantic grid columns with these mixins. + +@mixin make-row($gutter: $grid-gutter-width) { + --#{$prefix}gutter-x: #{$gutter}; + --#{$prefix}gutter-y: 0; + display: flex; + flex-wrap: wrap; + // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed + margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list + margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list + margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list +} + +@mixin make-col-ready() { + // Add box sizing if only the grid is loaded + box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null); + // Prevent columns from becoming too narrow when at smaller grid tiers by + // always setting `width: 100%;`. This works because we set the width + // later on to override this initial width. + flex-shrink: 0; + width: 100%; + max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid + padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list + padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list + margin-top: var(--#{$prefix}gutter-y); +} + +@mixin make-col($size: false, $columns: $grid-columns) { + @if $size { + flex: 0 0 auto; + width: percentage(divide($size, $columns)); + + } @else { + flex: 1 1 0; + max-width: 100%; + } +} + +@mixin make-col-auto() { + flex: 0 0 auto; + width: auto; +} + +@mixin make-col-offset($size, $columns: $grid-columns) { + $num: divide($size, $columns); + margin-left: if($num == 0, 0, percentage($num)); +} + +// Row columns +// +// Specify on a parent element(e.g., .row) to force immediate children into NN +// number of columns. Supports wrapping to new lines, but does not do a Masonry +// style grid. +@mixin row-cols($count) { + > * { + flex: 0 0 auto; + width: divide(100%, $count); + } +} + +// Framework grid generation +// +// Used only by Bootstrap to generate the correct number of grid classes given +// any value of `$grid-columns`. + +@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) { + @each $breakpoint in map-keys($breakpoints) { + $infix: breakpoint-infix($breakpoint, $breakpoints); + + @include media-breakpoint-up($breakpoint, $breakpoints) { + // Provide basic `.col-{bp}` classes for equal-width flexbox columns + .col#{$infix} { + flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 + } + + .row-cols#{$infix}-auto > * { + @include make-col-auto(); + } + + @if $grid-row-columns > 0 { + @for $i from 1 through $grid-row-columns { + .row-cols#{$infix}-#{$i} { + @include row-cols($i); + } + } + } + + .col#{$infix}-auto { + @include make-col-auto(); + } + + @if $columns > 0 { + @for $i from 1 through $columns { + .col#{$infix}-#{$i} { + @include make-col($i, $columns); + } + } + + // `$columns - 1` because offsetting by the width of an entire row isn't possible + @for $i from 0 through ($columns - 1) { + @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0 + .offset#{$infix}-#{$i} { + @include make-col-offset($i, $columns); + } + } + } + } + + // Gutters + // + // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns. + @each $key, $value in $gutters { + .g#{$infix}-#{$key}, + .gx#{$infix}-#{$key} { + --#{$prefix}gutter-x: #{$value}; + } + + .g#{$infix}-#{$key}, + .gy#{$infix}-#{$key} { + --#{$prefix}gutter-y: #{$value}; + } + } + } + } +} + +@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) { + @each $breakpoint in map-keys($breakpoints) { + $infix: breakpoint-infix($breakpoint, $breakpoints); + + @include media-breakpoint-up($breakpoint, $breakpoints) { + @if $columns > 0 { + @for $i from 1 through $columns { + .g-col#{$infix}-#{$i} { + grid-column: auto / span $i; + } + } + + // Start with `1` because `0` is and invalid value. + // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible. + @for $i from 1 through ($columns - 1) { + .g-start#{$infix}-#{$i} { + grid-column-start: $i; + } + } + } + } + } +} diff --git a/styles/bootstrap/mixins/_image.scss b/styles/bootstrap/mixins/_image.scss new file mode 100644 index 0000000000000000000000000000000000000000..e1df779f840c9772033df27891948cf767f09bd4 --- /dev/null +++ b/styles/bootstrap/mixins/_image.scss @@ -0,0 +1,16 @@ +// Image Mixins +// - Responsive image +// - Retina image + + +// Responsive image +// +// Keep images from scaling beyond the width of their parents. + +@mixin img-fluid { + // Part 1: Set a maximum relative to the parent + max-width: 100%; + // Part 2: Override the height to auto, otherwise images will be stretched + // when setting a width and height attribute on the img element. + height: auto; +} diff --git a/styles/bootstrap/mixins/_list-group.scss b/styles/bootstrap/mixins/_list-group.scss new file mode 100644 index 0000000000000000000000000000000000000000..e55415f2b8185aa85a48cd0dbd2a5d2894906754 --- /dev/null +++ b/styles/bootstrap/mixins/_list-group.scss @@ -0,0 +1,24 @@ +// List Groups + +// scss-docs-start list-group-mixin +@mixin list-group-item-variant($state, $background, $color) { + .list-group-item-#{$state} { + color: $color; + background-color: $background; + + &.list-group-item-action { + &:hover, + &:focus { + color: $color; + background-color: shade-color($background, 10%); + } + + &.active { + color: $white; + background-color: $color; + border-color: $color; + } + } + } +} +// scss-docs-end list-group-mixin diff --git a/styles/bootstrap/mixins/_lists.scss b/styles/bootstrap/mixins/_lists.scss new file mode 100644 index 0000000000000000000000000000000000000000..25185626698393b1365199f93aadd8d3350dc9d5 --- /dev/null +++ b/styles/bootstrap/mixins/_lists.scss @@ -0,0 +1,7 @@ +// Lists + +// Unstyled keeps list items block level, just removes default browser padding and list-style +@mixin list-unstyled { + padding-left: 0; + list-style: none; +} diff --git a/styles/bootstrap/mixins/_pagination.scss b/styles/bootstrap/mixins/_pagination.scss new file mode 100644 index 0000000000000000000000000000000000000000..0d657964fb556781430f5df1f5861a6a4e7d16c2 --- /dev/null +++ b/styles/bootstrap/mixins/_pagination.scss @@ -0,0 +1,10 @@ +// Pagination + +// scss-docs-start pagination-mixin +@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) { + --#{$prefix}pagination-padding-x: #{$padding-x}; + --#{$prefix}pagination-padding-y: #{$padding-y}; + @include rfs($font-size, --#{$prefix}pagination-font-size); + --#{$prefix}pagination-border-radius: #{$border-radius}; +} +// scss-docs-end pagination-mixin diff --git a/styles/bootstrap/mixins/_reset-text.scss b/styles/bootstrap/mixins/_reset-text.scss new file mode 100644 index 0000000000000000000000000000000000000000..f5bd1afec29a5afc6d319c63879814e4d667f196 --- /dev/null +++ b/styles/bootstrap/mixins/_reset-text.scss @@ -0,0 +1,17 @@ +@mixin reset-text { + font-family: $font-family-base; + // We deliberately do NOT reset font-size or overflow-wrap / word-wrap. + font-style: normal; + font-weight: $font-weight-normal; + line-height: $line-height-base; + text-align: left; // Fallback for where `start` is not supported + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; +} diff --git a/styles/bootstrap/mixins/_resize.scss b/styles/bootstrap/mixins/_resize.scss new file mode 100644 index 0000000000000000000000000000000000000000..66f233a63c988deb5a59dde3bba962082fbdfd57 --- /dev/null +++ b/styles/bootstrap/mixins/_resize.scss @@ -0,0 +1,6 @@ +// Resize anything + +@mixin resizable($direction) { + overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` + resize: $direction; // Options: horizontal, vertical, both +} diff --git a/styles/bootstrap/mixins/_table-variants.scss b/styles/bootstrap/mixins/_table-variants.scss new file mode 100644 index 0000000000000000000000000000000000000000..5fe1b9b20da59206b86bc97c81bb372d56ba53bf --- /dev/null +++ b/styles/bootstrap/mixins/_table-variants.scss @@ -0,0 +1,24 @@ +// scss-docs-start table-variant +@mixin table-variant($state, $background) { + .table-#{$state} { + $color: color-contrast(opaque($body-bg, $background)); + $hover-bg: mix($color, $background, percentage($table-hover-bg-factor)); + $striped-bg: mix($color, $background, percentage($table-striped-bg-factor)); + $active-bg: mix($color, $background, percentage($table-active-bg-factor)); + $table-border-color: mix($color, $background, percentage($table-border-factor)); + + --#{$prefix}table-color: #{$color}; + --#{$prefix}table-bg: #{$background}; + --#{$prefix}table-border-color: #{$table-border-color}; + --#{$prefix}table-striped-bg: #{$striped-bg}; + --#{$prefix}table-striped-color: #{color-contrast($striped-bg)}; + --#{$prefix}table-active-bg: #{$active-bg}; + --#{$prefix}table-active-color: #{color-contrast($active-bg)}; + --#{$prefix}table-hover-bg: #{$hover-bg}; + --#{$prefix}table-hover-color: #{color-contrast($hover-bg)}; + + color: var(--#{$prefix}table-color); + border-color: var(--#{$prefix}table-border-color); + } +} +// scss-docs-end table-variant diff --git a/styles/bootstrap/mixins/_text-truncate.scss b/styles/bootstrap/mixins/_text-truncate.scss new file mode 100644 index 0000000000000000000000000000000000000000..3504bb1aa5d7aa2c3d75aedd4a03916afaa7e4d9 --- /dev/null +++ b/styles/bootstrap/mixins/_text-truncate.scss @@ -0,0 +1,8 @@ +// Text truncate +// Requires inline-block or block for proper styling + +@mixin text-truncate() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} diff --git a/styles/bootstrap/mixins/_transition.scss b/styles/bootstrap/mixins/_transition.scss new file mode 100644 index 0000000000000000000000000000000000000000..d437f6d8f4202e6ab29c6b41d97e3c56bd73cfda --- /dev/null +++ b/styles/bootstrap/mixins/_transition.scss @@ -0,0 +1,26 @@ +// stylelint-disable property-disallowed-list +@mixin transition($transition...) { + @if length($transition) == 0 { + $transition: $transition-base; + } + + @if length($transition) > 1 { + @each $value in $transition { + @if $value == null or $value == none { + @warn "The keyword 'none' or 'null' must be used as a single argument."; + } + } + } + + @if $enable-transitions { + @if nth($transition, 1) != null { + transition: $transition; + } + + @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none { + @media (prefers-reduced-motion: reduce) { + transition: none; + } + } + } +} diff --git a/styles/bootstrap/mixins/_utilities.scss b/styles/bootstrap/mixins/_utilities.scss new file mode 100644 index 0000000000000000000000000000000000000000..59a2374617f95ed46fc596d00d43bc50231d9b85 --- /dev/null +++ b/styles/bootstrap/mixins/_utilities.scss @@ -0,0 +1,97 @@ +// Utility generator +// Used to generate utilities & print utilities +@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) { + $values: map-get($utility, values); + + // If the values are a list or string, convert it into a map + @if type-of($values) == "string" or type-of(nth($values, 1)) != "list" { + $values: zip($values, $values); + } + + @each $key, $value in $values { + $properties: map-get($utility, property); + + // Multiple properties are possible, for example with vertical or horizontal margins or paddings + @if type-of($properties) == "string" { + $properties: append((), $properties); + } + + // Use custom class if present + $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1)); + $property-class: if($property-class == null, "", $property-class); + + // Use custom CSS variable name if present, otherwise default to `class` + $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class)); + + // State params to generate pseudo-classes + $state: if(map-has-key($utility, state), map-get($utility, state), ()); + + $infix: if($property-class == "" and str-slice($infix, 1, 1) == "-", str-slice($infix, 2), $infix); + + // Don't prefix if value key is null (e.g. with shadow class) + $property-class-modifier: if($key, if($property-class == "" and $infix == "", "", "-") + $key, ""); + + @if map-get($utility, rfs) { + // Inside the media query + @if $is-rfs-media-query { + $val: rfs-value($value); + + // Do not render anything if fluid and non fluid values are the same + $value: if($val == rfs-fluid-value($value), null, $val); + } + @else { + $value: rfs-fluid-value($value); + } + } + + $is-css-var: map-get($utility, css-var); + $is-local-vars: map-get($utility, local-vars); + $is-rtl: map-get($utility, rtl); + + @if $value != null { + @if $is-rtl == false { + /* rtl:begin:remove */ + } + + @if $is-css-var { + .#{$property-class + $infix + $property-class-modifier} { + --#{$prefix}#{$css-variable-name}: #{$value}; + } + + @each $pseudo in $state { + .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} { + --#{$prefix}#{$css-variable-name}: #{$value}; + } + } + } @else { + .#{$property-class + $infix + $property-class-modifier} { + @each $property in $properties { + @if $is-local-vars { + @each $local-var, $variable in $is-local-vars { + --#{$prefix}#{$local-var}: #{$variable}; + } + } + #{$property}: $value if($enable-important-utilities, !important, null); + } + } + + @each $pseudo in $state { + .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} { + @each $property in $properties { + @if $is-local-vars { + @each $local-var, $variable in $is-local-vars { + --#{$prefix}#{$local-var}: #{$variable}; + } + } + #{$property}: $value if($enable-important-utilities, !important, null); + } + } + } + } + + @if $is-rtl == false { + /* rtl:end:remove */ + } + } + } +} diff --git a/styles/bootstrap/mixins/_visually-hidden.scss b/styles/bootstrap/mixins/_visually-hidden.scss new file mode 100644 index 0000000000000000000000000000000000000000..4fc7f49d6976ac87a9e8b26039e197af2698403a --- /dev/null +++ b/styles/bootstrap/mixins/_visually-hidden.scss @@ -0,0 +1,29 @@ +// stylelint-disable declaration-no-important + +// Hide content visually while keeping it accessible to assistive technologies +// +// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/ +// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/ + +@mixin visually-hidden() { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686 + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +// Use to only display content when it's focused, or one of its child elements is focused +// (i.e. when focus is within the element/container that the class was applied to) +// +// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 + +@mixin visually-hidden-focusable() { + &:not(:focus):not(:focus-within) { + @include visually-hidden(); + } +} diff --git a/styles/bootstrap/utilities/_api.scss b/styles/bootstrap/utilities/_api.scss new file mode 100644 index 0000000000000000000000000000000000000000..62e1d398e3529d998c6ac989973a534477014f31 --- /dev/null +++ b/styles/bootstrap/utilities/_api.scss @@ -0,0 +1,47 @@ +// Loop over each breakpoint +@each $breakpoint in map-keys($grid-breakpoints) { + + // Generate media query if needed + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + // Loop over each utility property + @each $key, $utility in $utilities { + // The utility can be disabled with `false`, thus check if the utility is a map first + // Only proceed if responsive media queries are enabled or if it's the base media query + @if type-of($utility) == "map" and (map-get($utility, responsive) or $infix == "") { + @include generate-utility($utility, $infix); + } + } + } +} + +// RFS rescaling +@media (min-width: $rfs-mq-value) { + @each $breakpoint in map-keys($grid-breakpoints) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) { + // Loop over each utility property + @each $key, $utility in $utilities { + // The utility can be disabled with `false`, thus check if the utility is a map first + // Only proceed if responsive media queries are enabled or if it's the base media query + @if type-of($utility) == "map" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == "") { + @include generate-utility($utility, $infix, true); + } + } + } + } +} + + +// Print utilities +@media print { + @each $key, $utility in $utilities { + // The utility can be disabled with `false`, thus check if the utility is a map first + // Then check if the utility needs print styles + @if type-of($utility) == "map" and map-get($utility, print) == true { + @include generate-utility($utility, "-print"); + } + } +} diff --git a/styles/bootstrap/vendor/_rfs.scss b/styles/bootstrap/vendor/_rfs.scss new file mode 100644 index 0000000000000000000000000000000000000000..7e9a6c7a8a4a8e343789ce262d3f024fb5f889d7 --- /dev/null +++ b/styles/bootstrap/vendor/_rfs.scss @@ -0,0 +1,354 @@ +// stylelint-disable property-blacklist, scss/dollar-variable-default + +// SCSS RFS mixin +// +// Automated responsive values for font sizes, paddings, margins and much more +// +// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE) + +// Configuration + +// Base value +$rfs-base-value: 1.25rem !default; +$rfs-unit: rem !default; + +@if $rfs-unit != rem and $rfs-unit != px { + @error "`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`."; +} + +// Breakpoint at where values start decreasing if screen width is smaller +$rfs-breakpoint: 1200px !default; +$rfs-breakpoint-unit: px !default; + +@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem { + @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`."; +} + +// Resize values based on screen height and width +$rfs-two-dimensional: false !default; + +// Factor of decrease +$rfs-factor: 10 !default; + +@if type-of($rfs-factor) != number or $rfs-factor <= 1 { + @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1."; +} + +// Mode. Possibilities: "min-media-query", "max-media-query" +$rfs-mode: min-media-query !default; + +// Generate enable or disable classes. Possibilities: false, "enable" or "disable" +$rfs-class: false !default; + +// 1 rem = $rfs-rem-value px +$rfs-rem-value: 16 !default; + +// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14 +$rfs-safari-iframe-resize-bug-fix: false !default; + +// Disable RFS by setting $enable-rfs to false +$enable-rfs: true !default; + +// Cache $rfs-base-value unit +$rfs-base-value-unit: unit($rfs-base-value); + +@function divide($dividend, $divisor, $precision: 10) { + $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1); + $dividend: abs($dividend); + $divisor: abs($divisor); + @if $dividend == 0 { + @return 0; + } + @if $divisor == 0 { + @error "Cannot divide by 0"; + } + $remainder: $dividend; + $result: 0; + $factor: 10; + @while ($remainder > 0 and $precision >= 0) { + $quotient: 0; + @while ($remainder >= $divisor) { + $remainder: $remainder - $divisor; + $quotient: $quotient + 1; + } + $result: $result * 10 + $quotient; + $factor: $factor * .1; + $remainder: $remainder * 10; + $precision: $precision - 1; + @if ($precision < 0 and $remainder >= $divisor * 5) { + $result: $result + 1; + } + } + $result: $result * $factor * $sign; + $dividend-unit: unit($dividend); + $divisor-unit: unit($divisor); + $unit-map: ( + "px": 1px, + "rem": 1rem, + "em": 1em, + "%": 1% + ); + @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) { + $result: $result * map-get($unit-map, $dividend-unit); + } + @return $result; +} + +// Remove px-unit from $rfs-base-value for calculations +@if $rfs-base-value-unit == px { + $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1); +} +@else if $rfs-base-value-unit == rem { + $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value)); +} + +// Cache $rfs-breakpoint unit to prevent multiple calls +$rfs-breakpoint-unit-cache: unit($rfs-breakpoint); + +// Remove unit from $rfs-breakpoint for calculations +@if $rfs-breakpoint-unit-cache == px { + $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1); +} +@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == "em" { + $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value)); +} + +// Calculate the media query value +$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit}); +$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width); +$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height); + +// Internal mixin used to determine which media query needs to be used +@mixin _rfs-media-query { + @if $rfs-two-dimensional { + @if $rfs-mode == max-media-query { + @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) { + @content; + } + } + @else { + @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) { + @content; + } + } + } + @else { + @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) { + @content; + } + } +} + +// Internal mixin that adds disable classes to the selector if needed. +@mixin _rfs-rule { + @if $rfs-class == disable and $rfs-mode == max-media-query { + // Adding an extra class increases specificity, which prevents the media query to override the property + &, + .disable-rfs &, + &.disable-rfs { + @content; + } + } + @else if $rfs-class == enable and $rfs-mode == min-media-query { + .enable-rfs &, + &.enable-rfs { + @content; + } + } + @else { + @content; + } +} + +// Internal mixin that adds enable classes to the selector if needed. +@mixin _rfs-media-query-rule { + + @if $rfs-class == enable { + @if $rfs-mode == min-media-query { + @content; + } + + @include _rfs-media-query { + .enable-rfs &, + &.enable-rfs { + @content; + } + } + } + @else { + @if $rfs-class == disable and $rfs-mode == min-media-query { + .disable-rfs &, + &.disable-rfs { + @content; + } + } + @include _rfs-media-query { + @content; + } + } +} + +// Helper function to get the formatted non-responsive value +@function rfs-value($values) { + // Convert to list + $values: if(type-of($values) != list, ($values,), $values); + + $val: ''; + + // Loop over each value and calculate value + @each $value in $values { + @if $value == 0 { + $val: $val + ' 0'; + } + @else { + // Cache $value unit + $unit: if(type-of($value) == "number", unit($value), false); + + @if $unit == px { + // Convert to rem if needed + $val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value); + } + @else if $unit == rem { + // Convert to px if needed + $val: $val + ' ' + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value); + } + @else { + // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value + $val: $val + ' ' + $value; + } + } + } + + // Remove first space + @return unquote(str-slice($val, 2)); +} + +// Helper function to get the responsive value calculated by RFS +@function rfs-fluid-value($values) { + // Convert to list + $values: if(type-of($values) != list, ($values,), $values); + + $val: ''; + + // Loop over each value and calculate value + @each $value in $values { + @if $value == 0 { + $val: $val + ' 0'; + } + + @else { + // Cache $value unit + $unit: if(type-of($value) == "number", unit($value), false); + + // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value + @if not $unit or $unit != px and $unit != rem { + $val: $val + ' ' + $value; + } + + @else { + // Remove unit from $value for calculations + $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value))); + + // Only add the media query if the value is greater than the minimum value + @if abs($value) <= $rfs-base-value or not $enable-rfs { + $val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px); + } + @else { + // Calculate the minimum value + $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor); + + // Calculate difference between $value and the minimum value + $value-diff: abs($value) - $value-min; + + // Base value formatting + $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px); + + // Use negative value if needed + $min-width: if($value < 0, -$min-width, $min-width); + + // Use `vmin` if two-dimensional is enabled + $variable-unit: if($rfs-two-dimensional, vmin, vw); + + // Calculate the variable width between 0 and $rfs-breakpoint + $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit}; + + // Return the calculated value + $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')'; + } + } + } + } + + // Remove first space + @return unquote(str-slice($val, 2)); +} + +// RFS mixin +@mixin rfs($values, $property: font-size) { + @if $values != null { + $val: rfs-value($values); + $fluidVal: rfs-fluid-value($values); + + // Do not print the media query if responsive & non-responsive values are the same + @if $val == $fluidVal { + #{$property}: $val; + } + @else { + @include _rfs-rule { + #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal); + + // Include safari iframe resize fix if needed + min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null); + } + + @include _rfs-media-query-rule { + #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val); + } + } + } +} + +// Shorthand helper mixins +@mixin font-size($value) { + @include rfs($value); +} + +@mixin padding($value) { + @include rfs($value, padding); +} + +@mixin padding-top($value) { + @include rfs($value, padding-top); +} + +@mixin padding-right($value) { + @include rfs($value, padding-right); +} + +@mixin padding-bottom($value) { + @include rfs($value, padding-bottom); +} + +@mixin padding-left($value) { + @include rfs($value, padding-left); +} + +@mixin margin($value) { + @include rfs($value, margin); +} + +@mixin margin-top($value) { + @include rfs($value, margin-top); +} + +@mixin margin-right($value) { + @include rfs($value, margin-right); +} + +@mixin margin-bottom($value) { + @include rfs($value, margin-bottom); +} + +@mixin margin-left($value) { + @include rfs($value, margin-left); +} diff --git a/styles/dist/styles.css b/styles/dist/styles.css new file mode 100644 index 0000000000000000000000000000000000000000..31c12f665453dad69001746071197b446081fa31 --- /dev/null +++ b/styles/dist/styles.css @@ -0,0 +1,11160 @@ +@import url("https://fonts.googleapis.com/css2?family=Jacques+Francois+Shadow&family=Roboto:wght@500&display=swap"); +/*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg-rgb: 255, 255, 255; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-bg: #fff; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-2xl: 2rem; + --bs-border-radius-pill: 50rem; + --bs-link-color: #0d6efd; + --bs-link-hover-color: #0a58ca; + --bs-code-color: #d63384; + --bs-highlight-bg: #fff3cd; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: 1px solid; + opacity: 0.25; +} + +h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: calc(1.375rem + 1.5vw); +} + +@media (min-width: 1200px) { + h1, .h1 { + font-size: 2.5rem; + } +} + +h2, .h2 { + font-size: calc(1.325rem + 0.9vw); +} + +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} + +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.3vw); +} + +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + text-decoration: underline dotted; + cursor: help; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.1875em; + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: var(--bs-link-color); + text-decoration: underline; +} + +a:hover { + color: var(--bs-link-hover-color); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} + +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: #6c757d; + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role="button"] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + +select:disabled { + opacity: 1; +} + +[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} + +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} + +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid var(--bs-border-color); + border-radius: 0.375rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: #6c757d; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl, +.container-xxl { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * .5); + padding-left: calc(var(--bs-gutter-x) * .5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +@media (min-width: 1400px) { + .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { + max-width: 1320px; + } +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-.5 * var(--bs-gutter-x)); + margin-left: calc(-.5 * var(--bs-gutter-x)); +} + +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * .5); + padding-left: calc(var(--bs-gutter-x) * .5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } + .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: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} + +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } + .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: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} + +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } + .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: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} + +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } + .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: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} + +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.333333%; + } + .offset-xxl-2 { + margin-left: 16.666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.333333%; + } + .offset-xxl-5 { + margin-left: 41.666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.333333%; + } + .offset-xxl-8 { + margin-left: 66.666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.333333%; + } + .offset-xxl-11 { + margin-left: 91.666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} + +.table { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: transparent; + --bs-table-border-color: var(--bs-border-color); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-body-color); + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: var(--bs-body-color); + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: var(--bs-body-color); + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: var(--bs-table-color); + vertical-align: top; + border-color: var(--bs-table-border-color); +} + +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} + +.table > tbody { + vertical-align: inherit; +} + +.table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: 2px solid currentcolor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} + +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} + +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} + +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); +} + +.table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); +} + +.table-primary { + --bs-table-color: #000; + --bs-table-bg: #cfe2ff; + --bs-table-border-color: #bacbe6; + --bs-table-striped-bg: #c5d7f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bacbe6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfd1ec; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-secondary { + --bs-table-color: #000; + --bs-table-bg: #e2e3e5; + --bs-table-border-color: #cbccce; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-success { + --bs-table-color: #000; + --bs-table-bg: #d1e7dd; + --bs-table-border-color: #bcd0c7; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-info { + --bs-table-color: #000; + --bs-table-bg: #cff4fc; + --bs-table-border-color: #badce3; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-warning { + --bs-table-color: #000; + --bs-table-bg: #fff3cd; + --bs-table-border-color: #e6dbb9; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-danger { + --bs-table-color: #000; + --bs-table-bg: #f8d7da; + --bs-table-border-color: #dfc2c4; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-light { + --bs-table-color: #000; + --bs-table-bg: #f8f9fa; + --bs-table-border-color: #dfe0e1; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #212529; + --bs-table-border-color: #373b3e; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #6c757d; +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + appearance: none; + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control[type="file"] { + overflow: hidden; +} + +.form-control[type="file"]:not(:disabled):not([readonly]) { + cursor: pointer; +} + +.form-control:focus { + color: #212529; + background-color: #fff; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled { + background-color: #e9ecef; + opacity: 1; +} + +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + transition: none; + } +} + +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #dde0e3; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext:focus { + outline: 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} + +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} + +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + margin-inline-end: 1rem; +} + +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 2px); +} + +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); +} + +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); +} + +.form-control-color { + width: 3rem; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem; +} + +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} + +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: 0.375rem; +} + +.form-control-color::-webkit-color-swatch { + border-radius: 0.375rem; +} + +.form-control-color.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); +} + +.form-control-color.form-control-lg { + height: calc(1.5em + 1rem + 2px); +} + +.form-select { + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: 1px solid #ced4da; + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} + +.form-select:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} + +.form-select:disabled { + background-color: #e9ecef; +} + +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #212529; +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} + +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} + +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} + +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 0, 0.25); + appearance: none; + print-color-adjust: exact; +} + +.form-check-input[type="checkbox"] { + border-radius: 0.25em; +} + +.form-check-input[type="radio"] { + border-radius: 50%; +} + +.form-check-input:active { + filter: brightness(90%); +} + +.form-check-input:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} + +.form-check-input:checked[type="checkbox"] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); +} + +.form-check-input:checked[type="radio"] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} + +.form-check-input[type="checkbox"]:indeterminate { + background-color: #0d6efd; + border-color: #0d6efd; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} + +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} + +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.5; +} + +.form-switch { + padding-left: 2.5em; +} + +.form-switch .form-check-input { + width: 2em; + margin-left: -2.5em; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} + +.form-switch .form-check-input:focus { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e"); +} + +.form-switch .form-check-input:checked { + background-position: right center; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.form-switch.form-check-reverse { + padding-right: 2.5em; + padding-left: 0; +} + +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5em; + margin-left: 0; +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + appearance: none; +} + +.form-range:focus { + outline: 0; +} + +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.form-range::-moz-focus-outer { + border: 0; +} + +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + transition: none; + } +} + +.form-range::-webkit-slider-thumb:active { + background-color: #b6d4fe; +} + +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + transition: none; + } +} + +.form-range::-moz-range-thumb:active { + background-color: #b6d4fe; +} + +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.form-range:disabled { + pointer-events: none; +} + +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.form-floating { + position: relative; +} + +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} + +.form-floating > label { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} + +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} + +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} + +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} + +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} + +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} + +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.form-floating > .form-control-plaintext ~ label { + border-width: 1px 0; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} + +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} + +.input-group .btn { + position: relative; + z-index: 2; +} + +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.375rem; +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), +.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #198754; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(25, 135, 84, 0.9); + border-radius: 0.375rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #198754; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #198754; +} + +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #198754; +} + +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #198754; +} + +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #198754; +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: .5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .was-validated +.input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, .was-validated +.input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.375rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #dc3545; +} + +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #dc3545; +} + +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #dc3545; +} + +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: .5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .was-validated +.input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, .was-validated +.input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --bs-btn-padding-x: 0.75rem; + --bs-btn-padding-y: 0.375rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 400; + --bs-btn-line-height: 1.5; + --bs-btn-color: #212529; + --bs-btn-bg: transparent; + --bs-btn-border-width: 1px; + --bs-btn-border-color: transparent; + --bs-btn-border-radius: 0.375rem; + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); +} + +.btn-check + .btn:hover { + color: var(--bs-btn-color); + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); +} + +.btn:focus-visible { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} + +.btn-check:focus-visible + .btn { + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} + +.btn-check:checked + .btn, +:not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--bs-btn-active-color); + background-color: var(--bs-btn-active-bg); + border-color: var(--bs-btn-active-border-color); +} + +.btn-check:checked + .btn:focus-visible, +:not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} + +.btn:disabled, .btn.disabled, +fieldset:disabled .btn { + color: var(--bs-btn-disabled-color); + pointer-events: none; + background-color: var(--bs-btn-disabled-bg); + border-color: var(--bs-btn-disabled-border-color); + opacity: var(--bs-btn-disabled-opacity); +} + +.btn-primary { + --bs-btn-color: #fff; + --bs-btn-bg: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0b5ed7; + --bs-btn-hover-border-color: #0a58ca; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0a58ca; + --bs-btn-active-border-color: #0a53be; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #0d6efd; + --bs-btn-disabled-border-color: #0d6efd; +} + +.btn-secondary { + --bs-btn-color: #fff; + --bs-btn-bg: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #5c636a; + --bs-btn-hover-border-color: #565e64; + --bs-btn-focus-shadow-rgb: 130, 138, 145; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #565e64; + --bs-btn-active-border-color: #51585e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #6c757d; + --bs-btn-disabled-border-color: #6c757d; +} + +.btn-success { + --bs-btn-color: #fff; + --bs-btn-bg: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #157347; + --bs-btn-hover-border-color: #146c43; + --bs-btn-focus-shadow-rgb: 60, 153, 110; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #146c43; + --bs-btn-active-border-color: #13653f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #198754; + --bs-btn-disabled-border-color: #198754; +} + +.btn-info { + --bs-btn-color: #000; + --bs-btn-bg: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #31d2f2; + --bs-btn-hover-border-color: #25cff2; + --bs-btn-focus-shadow-rgb: 11, 172, 204; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #3dd5f3; + --bs-btn-active-border-color: #25cff2; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #0dcaf0; + --bs-btn-disabled-border-color: #0dcaf0; +} + +.btn-warning { + --bs-btn-color: #000; + --bs-btn-bg: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffca2c; + --bs-btn-hover-border-color: #ffc720; + --bs-btn-focus-shadow-rgb: 217, 164, 6; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffcd39; + --bs-btn-active-border-color: #ffc720; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ffc107; + --bs-btn-disabled-border-color: #ffc107; +} + +.btn-danger { + --bs-btn-color: #fff; + --bs-btn-bg: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #bb2d3b; + --bs-btn-hover-border-color: #b02a37; + --bs-btn-focus-shadow-rgb: 225, 83, 97; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #b02a37; + --bs-btn-active-border-color: #a52834; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #dc3545; + --bs-btn-disabled-border-color: #dc3545; +} + +.btn-light { + --bs-btn-color: #000; + --bs-btn-bg: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #d3d4d5; + --bs-btn-hover-border-color: #c6c7c8; + --bs-btn-focus-shadow-rgb: 211, 212, 213; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #c6c7c8; + --bs-btn-active-border-color: #babbbc; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f8f9fa; + --bs-btn-disabled-border-color: #f8f9fa; +} + +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #424649; + --bs-btn-hover-border-color: #373b3e; + --bs-btn-focus-shadow-rgb: 66, 70, 73; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #4d5154; + --bs-btn-active-border-color: #373b3e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #212529; + --bs-btn-disabled-border-color: #212529; +} + +.btn-outline-primary { + --bs-btn-color: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0d6efd; + --bs-btn-hover-border-color: #0d6efd; + --bs-btn-focus-shadow-rgb: 13, 110, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0d6efd; + --bs-btn-active-border-color: #0d6efd; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0d6efd; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0d6efd; + --bs-gradient: none; +} + +.btn-outline-secondary { + --bs-btn-color: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #6c757d; + --bs-btn-hover-border-color: #6c757d; + --bs-btn-focus-shadow-rgb: 108, 117, 125; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #6c757d; + --bs-btn-active-border-color: #6c757d; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #6c757d; + --bs-gradient: none; +} + +.btn-outline-success { + --bs-btn-color: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #198754; + --bs-btn-hover-border-color: #198754; + --bs-btn-focus-shadow-rgb: 25, 135, 84; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #198754; + --bs-btn-active-border-color: #198754; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #198754; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #198754; + --bs-gradient: none; +} + +.btn-outline-info { + --bs-btn-color: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #0dcaf0; + --bs-btn-hover-border-color: #0dcaf0; + --bs-btn-focus-shadow-rgb: 13, 202, 240; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #0dcaf0; + --bs-btn-active-border-color: #0dcaf0; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0dcaf0; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0dcaf0; + --bs-gradient: none; +} + +.btn-outline-warning { + --bs-btn-color: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffc107; + --bs-btn-hover-border-color: #ffc107; + --bs-btn-focus-shadow-rgb: 255, 193, 7; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffc107; + --bs-btn-active-border-color: #ffc107; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ffc107; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ffc107; + --bs-gradient: none; +} + +.btn-outline-danger { + --bs-btn-color: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #dc3545; + --bs-btn-hover-border-color: #dc3545; + --bs-btn-focus-shadow-rgb: 220, 53, 69; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #dc3545; + --bs-btn-active-border-color: #dc3545; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #dc3545; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #dc3545; + --bs-gradient: none; +} + +.btn-outline-light { + --bs-btn-color: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f8f9fa; + --bs-btn-hover-border-color: #f8f9fa; + --bs-btn-focus-shadow-rgb: 248, 249, 250; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f8f9fa; + --bs-btn-active-border-color: #f8f9fa; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f8f9fa; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f8f9fa; + --bs-gradient: none; +} + +.btn-outline-dark { + --bs-btn-color: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #212529; + --bs-btn-hover-border-color: #212529; + --bs-btn-focus-shadow-rgb: 33, 37, 41; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #212529; + --bs-btn-active-border-color: #212529; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #212529; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #212529; + --bs-gradient: none; +} + +.btn-link { + --bs-btn-font-weight: 400; + --bs-btn-color: var(--bs-link-color); + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-hover-color: var(--bs-link-hover-color); + --bs-btn-hover-border-color: transparent; + --bs-btn-active-color: var(--bs-link-hover-color); + --bs-btn-active-border-color: transparent; + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: none; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + text-decoration: underline; +} + +.btn-link:focus-visible { + color: var(--bs-btn-color); +} + +.btn-link:hover { + color: var(--bs-btn-hover-color); +} + +.btn-lg, .btn-group-lg > .btn { + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 1rem; + --bs-btn-font-size: 1.25rem; + --bs-btn-border-radius: 0.5rem; +} + +.btn-sm, .btn-group-sm > .btn { + --bs-btn-padding-y: 0.25rem; + --bs-btn-padding-x: 0.5rem; + --bs-btn-font-size: 0.875rem; + --bs-btn-border-radius: 0.25rem; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 10rem; + --bs-dropdown-padding-x: 0; + --bs-dropdown-padding-y: 0.5rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: 1rem; + --bs-dropdown-color: #212529; + --bs-dropdown-bg: #fff; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-radius: 0.375rem; + --bs-dropdown-border-width: 1px; + --bs-dropdown-inner-border-radius: calc(0.375rem - 1px); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-dropdown-link-color: #212529; + --bs-dropdown-link-hover-color: #1e2125; + --bs-dropdown-link-hover-bg: #e9ecef; + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-header-color: #6c757d; + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--bs-dropdown-bg); + background-clip: padding-box; + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); +} + +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--bs-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} + +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} + +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--bs-dropdown-spacer); +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} + +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} + +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropstart .dropdown-toggle::after { + display: none; +} + +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--bs-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} + +.dropdown-item.active, .dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.875rem; + color: var(--bs-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + color: var(--bs-dropdown-link-color); +} + +.dropdown-menu-dark { + --bs-dropdown-color: #dee2e6; + --bs-dropdown-bg: #343a40; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-box-shadow: ; + --bs-dropdown-link-color: #dee2e6; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-header-color: #adb5bd; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} + +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: 0.375rem; +} + +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:nth-child(n + 3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropend .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + --bs-nav-link-padding-x: 1rem; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: #6c757d; + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} + +.nav-link:hover, .nav-link:focus { + color: var(--bs-nav-link-hover-color); +} + +.nav-link.disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --bs-nav-tabs-border-width: 1px; + --bs-nav-tabs-border-color: #dee2e6; + --bs-nav-tabs-border-radius: 0.375rem; + --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6; + --bs-nav-tabs-link-active-color: #495057; + --bs-nav-tabs-link-active-bg: #fff; + --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff; + border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); +} + +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + background: none; + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--bs-nav-tabs-border-radius); + border-top-right-radius: var(--bs-nav-tabs-border-radius); +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} + +.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} + +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills { + --bs-nav-pills-border-radius: 0.375rem; + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #0d6efd; +} + +.nav-pills .nav-link { + background: none; + border: 0; + border-radius: var(--bs-nav-pills-border-radius); +} + +.nav-pills .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 0.5rem; + --bs-navbar-color: rgba(0, 0, 0, 0.55); + --bs-navbar-hover-color: rgba(0, 0, 0, 0.7); + --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3); + --bs-navbar-active-color: rgba(0, 0, 0, 0.9); + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-brand-color: rgba(0, 0, 0, 0.9); + --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.9); + --bs-navbar-nav-link-padding-x: 0.5rem; + --bs-navbar-toggler-padding-y: 0.25rem; + --bs-navbar-toggler-padding-x: 0.75rem; + --bs-navbar-toggler-font-size: 1.25rem; + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1); + --bs-navbar-toggler-border-radius: 0.375rem; + --bs-navbar-toggler-focus-width: 0.25rem; + --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} + +.navbar > .container, +.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} + +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-right: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + color: var(--bs-navbar-brand-hover-color); +} + +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .show > .nav-link, +.navbar-nav .nav-link.active { + color: var(--bs-navbar-active-color); +} + +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} + +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--bs-navbar-active-color); +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + transition: var(--bs-navbar-toggler-transition); +} + +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} + +.navbar-toggler:hover { + text-decoration: none; +} + +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} + +.navbar-expand .navbar-nav { + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); +} + +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} + +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} + +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} + +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-dark { + --bs-navbar-color: rgba(255, 255, 255, 0.55); + --bs-navbar-hover-color: rgba(255, 255, 255, 0.75); + --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); + --bs-navbar-active-color: #fff; + --bs-navbar-brand-color: #fff; + --bs-navbar-brand-hover-color: #fff; + --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-border-width: 1px; + --bs-card-border-color: var(--bs-border-color-translucent); + --bs-card-border-radius: 0.375rem; + --bs-card-box-shadow: ; + --bs-card-inner-border-radius: calc(0.375rem - 1px); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: rgba(0, 0, 0, 0.03); + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: #fff; + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} + +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} + +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} + +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} + +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); +} + +.card-subtitle { + margin-top: calc(-.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} + +.card-header { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + margin-bottom: 0; + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); +} + +.card-header:first-child { + border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; +} + +.card-footer { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); +} + +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); +} + +.card-header-tabs { + margin-right: calc(-.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} + +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} + +.card-header-pills { + margin-right: calc(-.5 * var(--bs-card-cap-padding-x)); + margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); + border-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion { + --bs-accordion-color: #212529; + --bs-accordion-bg: #fff; + --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: 1px; + --bs-accordion-border-radius: 0.375rem; + --bs-accordion-inner-border-radius: calc(0.375rem - 1px); + --bs-accordion-btn-padding-x: 1.25rem; + --bs-accordion-btn-padding-y: 1rem; + --bs-accordion-btn-color: #212529; + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-icon-width: 1.25rem; + --bs-accordion-btn-icon-transform: rotate(-180deg); + --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-border-color: #86b7fe; + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: #0c63e4; + --bs-accordion-active-bg: #e7f1ff; +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: 1rem; + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} + +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} + +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); +} + +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} + +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} + +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} + +.accordion-button:hover { + z-index: 2; +} + +.accordion-button:focus { + z-index: 3; + border-color: var(--bs-accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); +} + +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} + +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} + +.accordion-item:not(:first-of-type) { + border-top: 0; +} + +.accordion-item:last-of-type { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} + +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} + +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.accordion-flush .accordion-item:first-child { + border-top: 0; +} + +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} + +.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} + +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: #6c757d; + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: #6c757d; + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} + +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} + +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} + +.pagination { + --bs-pagination-padding-x: 0.75rem; + --bs-pagination-padding-y: 0.375rem; + --bs-pagination-font-size: 1rem; + --bs-pagination-color: var(--bs-link-color); + --bs-pagination-bg: #fff; + --bs-pagination-border-width: 1px; + --bs-pagination-border-color: #dee2e6; + --bs-pagination-border-radius: 0.375rem; + --bs-pagination-hover-color: var(--bs-link-hover-color); + --bs-pagination-hover-bg: #e9ecef; + --bs-pagination-hover-border-color: #dee2e6; + --bs-pagination-focus-color: var(--bs-link-hover-color); + --bs-pagination-focus-bg: #e9ecef; + --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-pagination-active-color: #fff; + --bs-pagination-active-bg: #0d6efd; + --bs-pagination-active-border-color: #0d6efd; + --bs-pagination-disabled-color: #6c757d; + --bs-pagination-disabled-bg: #fff; + --bs-pagination-disabled-border-color: #dee2e6; + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + font-size: var(--bs-pagination-font-size); + color: var(--bs-pagination-color); + text-decoration: none; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} + +.page-link:hover { + z-index: 2; + color: var(--bs-pagination-hover-color); + background-color: var(--bs-pagination-hover-bg); + border-color: var(--bs-pagination-hover-border-color); +} + +.page-link:focus { + z-index: 3; + color: var(--bs-pagination-focus-color); + background-color: var(--bs-pagination-focus-bg); + outline: 0; + box-shadow: var(--bs-pagination-focus-box-shadow); +} + +.page-link.active, +.active > .page-link { + z-index: 3; + color: var(--bs-pagination-active-color); + background-color: var(--bs-pagination-active-bg); + border-color: var(--bs-pagination-active-border-color); +} + +.page-link.disabled, +.disabled > .page-link { + color: var(--bs-pagination-disabled-color); + pointer-events: none; + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-left: -1px; +} + +.page-item:first-child .page-link { + border-top-left-radius: var(--bs-pagination-border-radius); + border-bottom-left-radius: var(--bs-pagination-border-radius); +} + +.page-item:last-child .page-link { + border-top-right-radius: var(--bs-pagination-border-radius); + border-bottom-right-radius: var(--bs-pagination-border-radius); +} + +.pagination-lg { + --bs-pagination-padding-x: 1.5rem; + --bs-pagination-padding-y: 0.75rem; + --bs-pagination-font-size: 1.25rem; + --bs-pagination-border-radius: 0.5rem; +} + +.pagination-sm { + --bs-pagination-padding-x: 0.5rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: 0.875rem; + --bs-pagination-border-radius: 0.25rem; +} + +.badge { + --bs-badge-padding-x: 0.65em; + --bs-badge-padding-y: 0.35em; + --bs-badge-font-size: 0.75em; + --bs-badge-font-weight: 700; + --bs-badge-color: #fff; + --bs-badge-border-radius: 0.375rem; + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 1rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: 1px solid var(--bs-alert-border-color); + --bs-alert-border-radius: 0.375rem; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 3rem; +} + +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + --bs-alert-color: #084298; + --bs-alert-bg: #cfe2ff; + --bs-alert-border-color: #b6d4fe; +} + +.alert-primary .alert-link { + color: #06357a; +} + +.alert-secondary { + --bs-alert-color: #41464b; + --bs-alert-bg: #e2e3e5; + --bs-alert-border-color: #d3d6d8; +} + +.alert-secondary .alert-link { + color: #34383c; +} + +.alert-success { + --bs-alert-color: #0f5132; + --bs-alert-bg: #d1e7dd; + --bs-alert-border-color: #badbcc; +} + +.alert-success .alert-link { + color: #0c4128; +} + +.alert-info { + --bs-alert-color: #055160; + --bs-alert-bg: #cff4fc; + --bs-alert-border-color: #b6effb; +} + +.alert-info .alert-link { + color: #04414d; +} + +.alert-warning { + --bs-alert-color: #664d03; + --bs-alert-bg: #fff3cd; + --bs-alert-border-color: #ffecb5; +} + +.alert-warning .alert-link { + color: #523e02; +} + +.alert-danger { + --bs-alert-color: #842029; + --bs-alert-bg: #f8d7da; + --bs-alert-border-color: #f5c2c7; +} + +.alert-danger .alert-link { + color: #6a1a21; +} + +.alert-light { + --bs-alert-color: #636464; + --bs-alert-bg: #fefefe; + --bs-alert-border-color: #fdfdfe; +} + +.alert-light .alert-link { + color: #4f5050; +} + +.alert-dark { + --bs-alert-color: #141619; + --bs-alert-bg: #d3d3d4; + --bs-alert-border-color: #bcbebf; +} + +.alert-dark .alert-link { + color: #101214; +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} + +.progress { + --bs-progress-height: 1rem; + --bs-progress-font-size: 0.75rem; + --bs-progress-bg: #e9ecef; + --bs-progress-border-radius: 0.375rem; + --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-progress-bar-color: #fff; + --bs-progress-bar-bg: #0d6efd; + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); + border-radius: var(--bs-progress-border-radius); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.list-group { + --bs-list-group-color: #212529; + --bs-list-group-bg: #fff; + --bs-list-group-border-color: rgba(0, 0, 0, 0.125); + --bs-list-group-border-width: 1px; + --bs-list-group-border-radius: 0.375rem; + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.5rem; + --bs-list-group-action-color: #495057; + --bs-list-group-action-hover-color: #495057; + --bs-list-group-action-hover-bg: #f8f9fa; + --bs-list-group-action-active-color: #212529; + --bs-list-group-action-active-bg: #e9ecef; + --bs-list-group-disabled-color: #6c757d; + --bs-list-group-disabled-bg: #fff; + --bs-list-group-active-color: #fff; + --bs-list-group-active-bg: #0d6efd; + --bs-list-group-active-border-color: #0d6efd; + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} + +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} + +.list-group-item-action:active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} + +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); +} + +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: var(--bs-list-group-disabled-color); + pointer-events: none; + background-color: var(--bs-list-group-disabled-bg); +} + +.list-group-item.active { + z-index: 2; + color: var(--bs-list-group-active-color); + background-color: var(--bs-list-group-active-bg); + border-color: var(--bs-list-group-active-border-color); +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} + +.list-group-horizontal { + flex-direction: row; +} + +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; +} + +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; +} + +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +.list-group-flush { + border-radius: 0; +} + +.list-group-flush > .list-group-item { + border-width: 0 0 var(--bs-list-group-border-width); +} + +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #084298; + background-color: #cfe2ff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #084298; + background-color: #bacbe6; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #084298; + border-color: #084298; +} + +.list-group-item-secondary { + color: #41464b; + background-color: #e2e3e5; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #41464b; + background-color: #cbccce; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #41464b; + border-color: #41464b; +} + +.list-group-item-success { + color: #0f5132; + background-color: #d1e7dd; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #0f5132; + background-color: #bcd0c7; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #0f5132; + border-color: #0f5132; +} + +.list-group-item-info { + color: #055160; + background-color: #cff4fc; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #055160; + background-color: #badce3; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #055160; + border-color: #055160; +} + +.list-group-item-warning { + color: #664d03; + background-color: #fff3cd; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #664d03; + background-color: #e6dbb9; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #664d03; + border-color: #664d03; +} + +.list-group-item-danger { + color: #842029; + background-color: #f8d7da; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #842029; + background-color: #dfc2c4; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #842029; + border-color: #842029; +} + +.list-group-item-light { + color: #636464; + background-color: #fefefe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #636464; + background-color: #e5e5e5; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #636464; + border-color: #636464; +} + +.list-group-item-dark { + color: #141619; + background-color: #d3d3d4; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #141619; + background-color: #bebebf; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #141619; + border-color: #141619; +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + border: 0; + border-radius: 0.375rem; + opacity: 0.5; +} + +.btn-close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; +} + +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + opacity: 1; +} + +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + user-select: none; + opacity: 0.25; +} + +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 350px; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: rgba(255, 255, 255, 0.85); + --bs-toast-border-width: 1px; + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: 0.375rem; + --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-toast-header-color: #6c757d; + --bs-toast-header-bg: rgba(255, 255, 255, 0.85); + --bs-toast-header-border-color: rgba(0, 0, 0, 0.05); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} + +.toast.showing { + opacity: 0; +} + +.toast:not(.show) { + display: none; +} + +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: max-content; + max-width: 100%; + pointer-events: none; +} + +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); + border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); +} + +.toast-header .btn-close { + margin-right: calc(-.5 * var(--bs-toast-padding-x)); + margin-left: var(--bs-toast-padding-x); +} + +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} + +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 500px; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: ; + --bs-modal-bg: #fff; + --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-border-width: 1px; + --bs-modal-border-radius: 0.5rem; + --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-modal-inner-border-radius: calc(0.5rem - 1px); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: 1rem 1rem; + --bs-modal-header-border-color: var(--bs-border-color); + --bs-modal-header-border-width: 1px; + --bs-modal-title-line-height: 1.5; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: var(--bs-border-color); + --bs-modal-footer-border-width: 1px; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + outline: 0; +} + +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: #000; + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); + border-top-left-radius: var(--bs-modal-inner-border-radius); + border-top-right-radius: var(--bs-modal-inner-border-radius); +} + +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5); + margin: calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto; +} + +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); +} + +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * .5); +} + +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + } + .modal-dialog { + max-width: var(--bs-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --bs-modal-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 1140px; + } +} + +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} + +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} + +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; +} + +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} + +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} + +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} + +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} + +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} + +.tooltip { + --bs-tooltip-zindex: 1080; + --bs-tooltip-max-width: 200px; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: 0.875rem; + --bs-tooltip-color: #fff; + --bs-tooltip-bg: #000; + --bs-tooltip-border-radius: 0.375rem; + --bs-tooltip-opacity: 0.9; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + padding: var(--bs-tooltip-arrow-height); + margin: var(--bs-tooltip-margin); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} + +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} + +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow { + bottom: 0; +} + +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0; + border-top-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow { + left: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} + +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0; + border-right-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow { + top: 0; +} + +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow { + right: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} + +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.tooltip-inner { + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + color: var(--bs-tooltip-color); + text-align: center; + background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); +} + +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 276px; + --bs-popover-font-size: 0.875rem; + --bs-popover-bg: #fff; + --bs-popover-border-width: 1px; + --bs-popover-border-color: var(--bs-border-color-translucent); + --bs-popover-border-radius: 0.5rem; + --bs-popover-inner-border-radius: calc(0.5rem - 1px); + --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: 1rem; + --bs-popover-header-color: ; + --bs-popover-header-bg: #f0f0f0; + --bs-popover-body-padding-x: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-color: #212529; + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-popover-font-size); + word-wrap: break-word; + background-color: var(--bs-popover-bg); + background-clip: padding-box; + border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-radius: var(--bs-popover-border-radius); +} + +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} + +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow { + bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} + +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { + border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; +} + +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} + +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow { + left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} + +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; +} + +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} + +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow { + top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} + +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { + border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); +} + +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} + +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-left: calc(-.5 * var(--bs-popover-arrow-width)); + content: ""; + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow { + right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} + +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); +} + +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} + +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.popover-header { + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-popover-header-font-size); + color: var(--bs-popover-header-color); + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-top-left-radius: var(--bs-popover-inner-border-radius); + border-top-right-radius: var(--bs-popover-inner-border-radius); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); + color: var(--bs-popover-body-color); +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} + +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} + +.carousel-dark .carousel-caption { + color: #000; +} + +.spinner-grow, +.spinner-border { + display: inline-block; + width: var(--bs-spinner-width); + height: var(--bs-spinner-height); + vertical-align: var(--bs-spinner-vertical-align); + border-radius: 50%; + animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} + +.spinner-border { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-border-width: 0.25em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border: var(--bs-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; + --bs-spinner-border-width: 0.2em; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +.spinner-grow { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} + +.offcanvas-sm, .offcanvas-md, .offcanvas-lg, .offcanvas-xl, .offcanvas-xxl, .offcanvas { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 400px; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: ; + --bs-offcanvas-bg: #fff; + --bs-offcanvas-border-width: 1px; + --bs-offcanvas-border-color: var(--bs-border-color-translucent); + --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} + +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} + +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} + +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} + +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} + +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} + +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} + +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} + +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; + } + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; + } +} + +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} + +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none; + } + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + visibility: visible; + } +} + +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} + +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); +} + +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); +} + +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); +} + +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); +} + +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} + +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.offcanvas-backdrop.fade { + opacity: 0; +} + +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} + +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5); + margin-top: calc(-.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-.5 * var(--bs-offcanvas-padding-y)); +} + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} + +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: .6em; +} + +.placeholder-sm { + min-height: .8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} + +.placeholder-wave { + mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + mask-position: -200% 0%; + } +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #fff !important; + background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #fff !important; + background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #fff !important; + background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #000 !important; + background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: #000 !important; + background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #fff !important; + background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: #000 !important; + background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fff !important; + background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important; +} + +.link-primary { + color: #0d6efd !important; +} + +.link-primary:hover, .link-primary:focus { + color: #0a58ca !important; +} + +.link-secondary { + color: #6c757d !important; +} + +.link-secondary:hover, .link-secondary:focus { + color: #565e64 !important; +} + +.link-success { + color: #198754 !important; +} + +.link-success:hover, .link-success:focus { + color: #146c43 !important; +} + +.link-info { + color: #0dcaf0 !important; +} + +.link-info:hover, .link-info:focus { + color: #3dd5f3 !important; +} + +.link-warning { + color: #ffc107 !important; +} + +.link-warning:hover, .link-warning:focus { + color: #ffcd39 !important; +} + +.link-danger { + color: #dc3545 !important; +} + +.link-danger:hover, .link-danger:focus { + color: #b02a37 !important; +} + +.link-light { + color: #f8f9fa !important; +} + +.link-light:hover, .link-light:focus { + color: #f9fafb !important; +} + +.link-dark { + color: #212529 !important; +} + +.link-dark:hover, .link-dark:focus { + color: #1a1e21 !important; +} + +.ratio { + position: relative; + width: 100%; +} + +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} + +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: calc(3 / 4 * 100%); +} + +.ratio-16x9 { + --bs-aspect-ratio: calc(9 / 16 * 100%); +} + +.ratio-21x9 { + --bs-aspect-ratio: calc(9 / 21 * 100%); +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 768px) { + .sticky-md-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 992px) { + .sticky-lg-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 1200px) { + .sticky-xl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 1400px) { + .sticky-xxl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; +} + +.border-secondary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; +} + +.border-success { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; +} + +.border-info { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; +} + +.border-warning { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; +} + +.border-danger { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; +} + +.border-light { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; +} + +.border-dark { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; +} + +.border-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} + +.border-1 { + --bs-border-width: 1px; +} + +.border-2 { + --bs-border-width: 2px; +} + +.border-3 { + --bs-border-width: 3px; +} + +.border-4 { + --bs-border-width: 4px; +} + +.border-5 { + --bs-border-width: 5px; +} + +.border-opacity-10 { + --bs-border-opacity: 0.1; +} + +.border-opacity-25 { + --bs-border-opacity: 0.25; +} + +.border-opacity-50 { + --bs-border-opacity: 0.5; +} + +.border-opacity-75 { + --bs-border-opacity: 0.75; +} + +.border-opacity-100 { + --bs-border-opacity: 1; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: #6c757d !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + user-select: all !important; +} + +.user-select-auto { + user-select: auto !important; +} + +.user-select-none { + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--bs-border-radius-2xl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} + +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} + +:root { + --primary: #165B26; +} + +body { + font-family: 'Roboto', sans-serif; +} + +a { + color: var(--primary); + text-decoration: none; +} + +.navbar .logo { + font-family: 'Jacques Francois Shadow', cursive; + font-size: 2rem; +} + +/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/styles/dist/styles.css.map b/styles/dist/styles.css.map new file mode 100644 index 0000000000000000000000000000000000000000..46ef0f51240417a6d214cfbf1e26114aa0cebb25 --- /dev/null +++ b/styles/dist/styles.css.map @@ -0,0 +1,182 @@ +{ + "version": 3, + "file": "styles.css", + "sources": [ + "../scss/app.scss", + "../bootstrap/bootstrap.scss", + "../bootstrap/mixins/_banner.scss", + "../bootstrap/_functions.scss", + "../bootstrap/_variables.scss", + "../bootstrap/_maps.scss", + "../bootstrap/_mixins.scss", + "../bootstrap/vendor/_rfs.scss", + "../bootstrap/mixins/_deprecate.scss", + "../bootstrap/mixins/_breakpoints.scss", + "../bootstrap/mixins/_color-scheme.scss", + "../bootstrap/mixins/_image.scss", + "../bootstrap/mixins/_resize.scss", + "../bootstrap/mixins/_visually-hidden.scss", + "../bootstrap/mixins/_reset-text.scss", + "../bootstrap/mixins/_text-truncate.scss", + "../bootstrap/mixins/_utilities.scss", + "../bootstrap/mixins/_alert.scss", + "../bootstrap/mixins/_backdrop.scss", + "../bootstrap/mixins/_buttons.scss", + "../bootstrap/mixins/_caret.scss", + "../bootstrap/mixins/_pagination.scss", + "../bootstrap/mixins/_lists.scss", + "../bootstrap/mixins/_list-group.scss", + "../bootstrap/mixins/_forms.scss", + "../bootstrap/mixins/_table-variants.scss", + "../bootstrap/mixins/_border-radius.scss", + "../bootstrap/mixins/_box-shadow.scss", + "../bootstrap/mixins/_gradients.scss", + "../bootstrap/mixins/_transition.scss", + "../bootstrap/mixins/_clearfix.scss", + "../bootstrap/mixins/_container.scss", + "../bootstrap/mixins/_grid.scss", + "../bootstrap/_utilities.scss", + "../bootstrap/_root.scss", + "../bootstrap/_reboot.scss", + "../bootstrap/_type.scss", + "../bootstrap/_images.scss", + "../bootstrap/_containers.scss", + "../bootstrap/_grid.scss", + "../bootstrap/_tables.scss", + "../bootstrap/_forms.scss", + "../bootstrap/forms/_labels.scss", + "../bootstrap/forms/_form-text.scss", + "../bootstrap/forms/_form-control.scss", + "../bootstrap/forms/_form-select.scss", + "../bootstrap/forms/_form-check.scss", + "../bootstrap/forms/_form-range.scss", + "../bootstrap/forms/_floating-labels.scss", + "../bootstrap/forms/_input-group.scss", + "../bootstrap/forms/_validation.scss", + "../bootstrap/_buttons.scss", + "../bootstrap/_transitions.scss", + "../bootstrap/_dropdown.scss", + "../bootstrap/_button-group.scss", + "../bootstrap/_nav.scss", + "../bootstrap/_navbar.scss", + "../bootstrap/_card.scss", + "../bootstrap/_accordion.scss", + "../bootstrap/_breadcrumb.scss", + "../bootstrap/_pagination.scss", + "../bootstrap/_badge.scss", + "../bootstrap/_alert.scss", + "../bootstrap/_progress.scss", + "../bootstrap/_list-group.scss", + "../bootstrap/_close.scss", + "../bootstrap/_toasts.scss", + "../bootstrap/_modal.scss", + "../bootstrap/_tooltip.scss", + "../bootstrap/_popover.scss", + "../bootstrap/_carousel.scss", + "../bootstrap/_spinners.scss", + "../bootstrap/_offcanvas.scss", + "../bootstrap/_placeholders.scss", + "../bootstrap/_helpers.scss", + "../bootstrap/helpers/_clearfix.scss", + "../bootstrap/helpers/_color-bg.scss", + "../bootstrap/helpers/_colored-links.scss", + "../bootstrap/helpers/_ratio.scss", + "../bootstrap/helpers/_position.scss", + "../bootstrap/helpers/_stacks.scss", + "../bootstrap/helpers/_visually-hidden.scss", + "../bootstrap/helpers/_stretched-link.scss", + "../bootstrap/helpers/_text-truncation.scss", + "../bootstrap/helpers/_vr.scss", + "../bootstrap/utilities/_api.scss" + ], + "sourcesContent": [ + "@import url('https://fonts.googleapis.com/css2?family=Jacques+Francois+Shadow&family=Roboto:wght@500&display=swap');\r\n@import \"../bootstrap/bootstrap\";\r\n\r\n:root{\r\n --primary: #165B26;\r\n}\r\n\r\nbody {\r\n font-family: 'Roboto', sans-serif;\r\n}\r\n\r\na {\r\n color: var(--primary);\r\n text-decoration: none;\r\n}\r\n\r\n.navbar .logo {\r\n font-family: 'Jacques Francois Shadow', cursive;\r\n font-size: 2rem;\r\n}", + "@import \"mixins/banner\";\n@include bsBanner(\"\");\n\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"maps\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"offcanvas\";\n@import \"placeholders\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n", + "@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.2.3 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors\n * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n\n", + "// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Colors\n@function to-rgb($value) {\n @return red($value), green($value), blue($value);\n}\n\n// stylelint-disable scss/dollar-variable-pattern\n@function rgba-css-var($identifier, $target) {\n @if $identifier == \"body\" and $target == \"bg\" {\n @return rgba(var(--#{$prefix}#{$identifier}-bg-rgb), var(--#{$prefix}#{$target}-opacity));\n } @if $identifier == \"body\" and $target == \"text\" {\n @return rgba(var(--#{$prefix}#{$identifier}-color-rgb), var(--#{$prefix}#{$target}-opacity));\n } @else {\n @return rgba(var(--#{$prefix}#{$identifier}-rgb), var(--#{$prefix}#{$target}-opacity));\n }\n}\n\n@function map-loop($map, $func, $args...) {\n $_map: ();\n\n @each $key, $value in $map {\n // allow to pass the $key and $value of the map as an function argument\n $_args: ();\n @each $arg in $args {\n $_args: append($_args, if($arg == \"$key\", $key, if($arg == \"$value\", $value, $arg)));\n }\n\n $_map: map-merge($_map, ($key: call(get-function($func), $_args...)));\n }\n\n @return $_map;\n}\n// stylelint-enable scss/dollar-variable-pattern\n\n@function varify($list) {\n $result: null;\n @each $entry in $list {\n $result: append($result, var(--#{$prefix}#{$entry}), space);\n }\n @return $result;\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Merge multiple maps\n@function map-merge-multiple($maps...) {\n $merged-maps: ();\n\n @each $map in $maps {\n $merged-maps: map-merge($merged-maps, $map);\n }\n @return $merged-maps;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Kitty Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n// See https://github.com/twbs/bootstrap/pull/30168\n\n// A list of pre-calculated numbers of pow(divide((divide($value, 255) + .055), 1.055), 2.4). (from 0 to 255)\n// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern\n$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;\n\n@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {\n $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black;\n $max-ratio: 0;\n $max-ratio-color: null;\n\n @each $color in $foregrounds {\n $contrast-ratio: contrast-ratio($background, $color);\n @if $contrast-ratio > $min-contrast-ratio {\n @return $color;\n } @else if $contrast-ratio > $max-ratio {\n $max-ratio: $contrast-ratio;\n $max-ratio-color: $color;\n }\n }\n\n @warn \"Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...\";\n\n @return $max-ratio-color;\n}\n\n@function contrast-ratio($background, $foreground: $color-contrast-light) {\n $l1: luminance($background);\n $l2: luminance(opaque($background, $foreground));\n\n @return if($l1 > $l2, divide($l1 + .05, $l2 + .05), divide($l2 + .05, $l1 + .05));\n}\n\n// Return WCAG2.1 relative luminance\n// See https://www.w3.org/TR/WCAG/#dfn-relative-luminance\n// See https://www.w3.org/TR/WCAG/#dfn-contrast-ratio\n@function luminance($color) {\n $rgb: (\n \"r\": red($color),\n \"g\": green($color),\n \"b\": blue($color)\n );\n\n @each $name, $value in $rgb {\n $value: if(divide($value, 255) < .03928, divide(divide($value, 255), 12.92), nth($_luminance-list, $value + 1));\n $rgb: map-merge($rgb, ($name: $value));\n }\n\n @return (map-get($rgb, \"r\") * .2126) + (map-get($rgb, \"g\") * .7152) + (map-get($rgb, \"b\") * .0722);\n}\n\n// Return opaque color\n// opaque(#fff, rgba(0, 0, 0, .5)) => #808080\n@function opaque($background, $foreground) {\n @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100%);\n}\n\n// scss-docs-start color-functions\n// Tint a color: mix a color with white\n@function tint-color($color, $weight) {\n @return mix(white, $color, $weight);\n}\n\n// Shade a color: mix a color with black\n@function shade-color($color, $weight) {\n @return mix(black, $color, $weight);\n}\n\n// Shade the color if the weight is positive, else tint it\n@function shift-color($color, $weight) {\n @return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));\n}\n// scss-docs-end color-functions\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @if type-of($value2) != number {\n $value2: unquote(\"(\") + $value2 + unquote(\")\");\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n", + "// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"black\": $black,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-100,\n \"purple-200\": $purple-200,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-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: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix: $variable-prefix !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\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// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\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\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: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-style: solid !default;\n$border-color: $gray-300 !default;\n$border-color-translucent: rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .375rem !default;\n$border-radius-sm: .25rem !default;\n$border-radius-lg: .5rem !default;\n$border-radius-xl: 1rem !default;\n$border-radius-2xl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style: null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n\n// fusv-disable\n$hr-bg-color: null !default; // Deprecated in v5.2.0\n$hr-height: null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color: null !default; // Allows for inherited colors\n$hr-border-width: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-padding: .1875em !default;\n$mark-bg: $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: var(--#{$prefix}body-color) !default;\n$table-bg: transparent !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: var(--#{$prefix}border-color) !default;\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-blur: 0 !default;\n$input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: var(--#{$prefix}link-color) !default;\n$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $body-bg !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: 1px solid rgba($black, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: var(--#{$prefix}link-color) !default;\n$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($dropdown-link-color, 10%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding-x: $dropdown-item-padding-x !default;\n$dropdown-header-padding-y: $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-font-size: $font-size-base !default;\n\n$pagination-color: var(--#{$prefix}link-color) !default;\n$pagination-bg: $white !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-border-width: $border-width !default;\n$pagination-margin-start: ($pagination-border-width * -1) !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-border-width: $border-width !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: $border-radius !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default; // Sass variable because of $accordion-button-icon\n$accordion-bg: $body-bg !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: $border-radius !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: var(--#{$prefix}accordion-bg) !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-button-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n// fusv-disable\n$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n// scss-docs-end popover-variables\n\n// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color: $popover-bg !default;\n$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: $border-width !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba($black, .05) !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n\n$modal-header-border-color: var(--#{$prefix}border-color) !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg: null !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: $gray-900 !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: $modal-content-bg !default;\n$offcanvas-color: $modal-content-color !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .1875rem !default;\n$kbd-padding-x: .375rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: var(--#{$prefix}body-bg) !default;\n$kbd-bg: var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color: null !default;\n", + "// Re-assigned maps\n//\n// Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.\n\n// scss-docs-start theme-colors-rgb\n$theme-colors-rgb: map-loop($theme-colors, to-rgb, \"$value\") !default;\n// scss-docs-end theme-colors-rgb\n\n// Utilities maps\n//\n// Extends the default `$theme-colors` maps to help create our utilities.\n\n// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.\n// scss-docs-start utilities-colors\n$utilities-colors: $theme-colors-rgb !default;\n// scss-docs-end utilities-colors\n\n// scss-docs-start utilities-text-colors\n$utilities-text: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-color)\n )\n) !default;\n$utilities-text-colors: map-loop($utilities-text, rgba-css-var, \"$key\", \"text\") !default;\n// scss-docs-end utilities-text-colors\n\n// scss-docs-start utilities-bg-colors\n$utilities-bg: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-bg)\n )\n) !default;\n$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, \"$key\", \"bg\") !default;\n// scss-docs-end utilities-bg-colors\n\n// scss-docs-start utilities-border-colors\n$utilities-border: map-merge(\n $utilities-colors,\n (\n \"white\": to-rgb($white)\n )\n) !default;\n$utilities-border-colors: map-loop($utilities-border, rgba-css-var, \"$key\", \"border\") !default;\n// scss-docs-end utilities-border-colors\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n\n$gutters: $spacers !default;\n", + "// Toggles\n//\n// Used in conjunction with global variables to enable certain theme features.\n\n// Vendor\n@import \"vendor/rfs\";\n\n// Deprecate\n@import \"mixins/deprecate\";\n\n// Helpers\n@import \"mixins/breakpoints\";\n@import \"mixins/color-scheme\";\n@import \"mixins/image\";\n@import \"mixins/resize\";\n@import \"mixins/visually-hidden\";\n@import \"mixins/reset-text\";\n@import \"mixins/text-truncate\";\n\n// Utilities\n@import \"mixins/utilities\";\n\n// Components\n@import \"mixins/alert\";\n@import \"mixins/backdrop\";\n@import \"mixins/buttons\";\n@import \"mixins/caret\";\n@import \"mixins/pagination\";\n@import \"mixins/lists\";\n@import \"mixins/list-group\";\n@import \"mixins/forms\";\n@import \"mixins/table-variants\";\n\n// Skins\n@import \"mixins/border-radius\";\n@import \"mixins/box-shadow\";\n@import \"mixins/gradients\";\n@import \"mixins/transition\";\n\n// Layout\n@import \"mixins/clearfix\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n", + "// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n", + "// Deprecate mixin\n//\n// This mixin can be used to deprecate mixins or functions.\n// `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to\n// some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap)\n@mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) {\n @if ($enable-deprecation-messages != false and $ignore-warning != true) {\n @warn \"#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}.\";\n }\n}\n", + "// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n", + "// scss-docs-start mixin-color-scheme\n@mixin color-scheme($name) {\n @media (prefers-color-scheme: #{$name}) {\n @content;\n }\n}\n// scss-docs-end mixin-color-scheme\n", + "// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n", + "// Resize anything\n\n@mixin resizable($direction) {\n overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`\n resize: $direction; // Options: horizontal, vertical, both\n}\n", + "// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n", + "@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n}\n", + "// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n", + "// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\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 pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" 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 $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n", + "// scss-docs-start alert-variant-mixin\n@mixin alert-variant($background, $border, $color) {\n --#{$prefix}alert-color: #{$color};\n --#{$prefix}alert-bg: #{$background};\n --#{$prefix}alert-border-color: #{$border};\n\n @if $enable-gradients {\n background-image: var(--#{$prefix}gradient);\n }\n\n .alert-link {\n color: shade-color($color, 20%);\n }\n}\n// scss-docs-end alert-variant-mixin\n", + "// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex;\n width: 100vw;\n height: 100vh;\n background-color: $backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $backdrop-opacity; }\n}\n", + "// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n// scss-docs-start btn-variant-mixin\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),\n $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),\n $hover-color: color-contrast($hover-background),\n $active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),\n $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),\n $active-color: color-contrast($active-background),\n $disabled-background: $background,\n $disabled-border: $border,\n $disabled-color: color-contrast($disabled-background)\n) {\n --#{$prefix}btn-color: #{$color};\n --#{$prefix}btn-bg: #{$background};\n --#{$prefix}btn-border-color: #{$border};\n --#{$prefix}btn-hover-color: #{$hover-color};\n --#{$prefix}btn-hover-bg: #{$hover-background};\n --#{$prefix}btn-hover-border-color: #{$hover-border};\n --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix($color, $border, 15%))};\n --#{$prefix}btn-active-color: #{$active-color};\n --#{$prefix}btn-active-bg: #{$active-background};\n --#{$prefix}btn-active-border-color: #{$active-border};\n --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};\n --#{$prefix}btn-disabled-color: #{$disabled-color};\n --#{$prefix}btn-disabled-bg: #{$disabled-background};\n --#{$prefix}btn-disabled-border-color: #{$disabled-border};\n}\n// scss-docs-end btn-variant-mixin\n\n// scss-docs-start btn-outline-variant-mixin\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n --#{$prefix}btn-color: #{$color};\n --#{$prefix}btn-border-color: #{$color};\n --#{$prefix}btn-hover-color: #{$color-hover};\n --#{$prefix}btn-hover-bg: #{$active-background};\n --#{$prefix}btn-hover-border-color: #{$active-border};\n --#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};\n --#{$prefix}btn-active-color: #{$active-color};\n --#{$prefix}btn-active-bg: #{$active-background};\n --#{$prefix}btn-active-border-color: #{$active-border};\n --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};\n --#{$prefix}btn-disabled-color: #{$color};\n --#{$prefix}btn-disabled-bg: transparent;\n --#{$prefix}btn-disabled-border-color: #{$color};\n --#{$prefix}gradient: none;\n}\n// scss-docs-end btn-outline-variant-mixin\n\n// scss-docs-start btn-size-mixin\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n --#{$prefix}btn-padding-y: #{$padding-y};\n --#{$prefix}btn-padding-x: #{$padding-x};\n @include rfs($font-size, --#{$prefix}btn-font-size);\n --#{$prefix}btn-border-radius: #{$border-radius};\n}\n// scss-docs-end btn-size-mixin\n", + "// scss-docs-start caret-mixins\n@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-end {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-start {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == end {\n @include caret-end();\n }\n }\n\n @if $direction == start {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-start();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n// scss-docs-end caret-mixins\n", + "// Pagination\n\n// scss-docs-start pagination-mixin\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n --#{$prefix}pagination-padding-x: #{$padding-x};\n --#{$prefix}pagination-padding-y: #{$padding-y};\n @include rfs($font-size, --#{$prefix}pagination-font-size);\n --#{$prefix}pagination-border-radius: #{$border-radius};\n}\n// scss-docs-end pagination-mixin\n", + "// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n", + "// List Groups\n\n// scss-docs-start list-group-mixin\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: shade-color($background, 10%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n// scss-docs-end list-group-mixin\n", + "// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state(\n $state,\n $color,\n $icon,\n $tooltip-color: color-contrast($color),\n $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n $focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity)\n) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: $tooltip-color;\n background-color: $tooltip-bg-color;\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: $focus-box-shadow;\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n &:not([multiple]):not([size]),\n &:not([multiple])[size=\"1\"] {\n padding-right: $form-select-feedback-icon-padding-end;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n }\n\n &:focus {\n border-color: $color;\n box-shadow: $focus-box-shadow;\n }\n }\n }\n\n .form-control-color {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n width: add($form-color-width, $input-height-inner);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n box-shadow: $focus-box-shadow;\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n .input-group {\n > .form-control:not(:focus),\n > .form-select:not(:focus),\n > .form-floating:not(:focus-within) {\n @include form-validation-state-selector($state) {\n @if $state == \"valid\" {\n z-index: 3;\n } @else if $state == \"invalid\" {\n z-index: 4;\n }\n }\n }\n }\n}\n// scss-docs-end form-validation-mixins\n", + "// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n .table-#{$state} {\n $color: color-contrast(opaque($body-bg, $background));\n $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n $table-border-color: mix($color, $background, percentage($table-border-factor));\n\n --#{$prefix}table-color: #{$color};\n --#{$prefix}table-bg: #{$background};\n --#{$prefix}table-border-color: #{$table-border-color};\n --#{$prefix}table-striped-bg: #{$striped-bg};\n --#{$prefix}table-striped-color: #{color-contrast($striped-bg)};\n --#{$prefix}table-active-bg: #{$active-bg};\n --#{$prefix}table-active-color: #{color-contrast($active-bg)};\n --#{$prefix}table-hover-bg: #{$hover-bg};\n --#{$prefix}table-hover-color: #{color-contrast($hover-bg)};\n\n color: var(--#{$prefix}table-color);\n border-color: var(--#{$prefix}table-border-color);\n }\n}\n// scss-docs-end table-variant\n", + "// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n", + "@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n\n @each $value in $shadow {\n @if $value != null {\n $result: append($result, $value, \"comma\");\n }\n @if $value == none and length($shadow) > 1 {\n @warn \"The keyword 'none' must be used as a single argument.\";\n }\n }\n\n @if (length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n", + "// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--#{$prefix}gradient);\n }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n", + "// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n", + "// scss-docs-start clearfix\n@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n// scss-docs-end clearfix\n", + "// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n", + "// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}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-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($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: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// 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: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}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 and 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", + "// Utilities\n\n$utilities: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-merge(\n (\n // scss-docs-start utils-vertical-align\n \"align\": (\n property: vertical-align,\n class: align,\n values: baseline top middle bottom text-bottom text-top\n ),\n // scss-docs-end utils-vertical-align\n // scss-docs-start utils-float\n \"float\": (\n responsive: true,\n property: float,\n values: (\n start: left,\n end: right,\n none: none,\n )\n ),\n // scss-docs-end utils-float\n // Opacity utilities\n // scss-docs-start utils-opacity\n \"opacity\": (\n property: opacity,\n values: (\n 0: 0,\n 25: .25,\n 50: .5,\n 75: .75,\n 100: 1,\n )\n ),\n // scss-docs-end utils-opacity\n // scss-docs-start utils-overflow\n \"overflow\": (\n property: overflow,\n values: auto hidden visible scroll,\n ),\n // scss-docs-end utils-overflow\n // scss-docs-start utils-display\n \"display\": (\n responsive: true,\n print: true,\n property: display,\n class: d,\n values: inline inline-block block grid table table-row table-cell flex inline-flex none\n ),\n // scss-docs-end utils-display\n // scss-docs-start utils-shadow\n \"shadow\": (\n property: box-shadow,\n class: shadow,\n values: (\n null: $box-shadow,\n sm: $box-shadow-sm,\n lg: $box-shadow-lg,\n none: none,\n )\n ),\n // scss-docs-end utils-shadow\n // scss-docs-start utils-position\n \"position\": (\n property: position,\n values: static relative absolute fixed sticky\n ),\n \"top\": (\n property: top,\n values: $position-values\n ),\n \"bottom\": (\n property: bottom,\n values: $position-values\n ),\n \"start\": (\n property: left,\n class: start,\n values: $position-values\n ),\n \"end\": (\n property: right,\n class: end,\n values: $position-values\n ),\n \"translate-middle\": (\n property: transform,\n class: translate-middle,\n values: (\n null: translate(-50%, -50%),\n x: translateX(-50%),\n y: translateY(-50%),\n )\n ),\n // scss-docs-end utils-position\n // scss-docs-start utils-borders\n \"border\": (\n property: border,\n values: (\n null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color),\n 0: 0,\n )\n ),\n \"border-top\": (\n property: border-top,\n values: (\n null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color),\n 0: 0,\n )\n ),\n \"border-end\": (\n property: border-right,\n class: border-end,\n values: (\n null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color),\n 0: 0,\n )\n ),\n \"border-bottom\": (\n property: border-bottom,\n values: (\n null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color),\n 0: 0,\n )\n ),\n \"border-start\": (\n property: border-left,\n class: border-start,\n values: (\n null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color),\n 0: 0,\n )\n ),\n \"border-color\": (\n property: border-color,\n class: border,\n local-vars: (\n \"border-opacity\": 1\n ),\n values: $utilities-border-colors\n ),\n \"border-width\": (\n css-var: true,\n css-variable-name: border-width,\n class: border,\n values: $border-widths\n ),\n \"border-opacity\": (\n css-var: true,\n class: border-opacity,\n values: (\n 10: .1,\n 25: .25,\n 50: .5,\n 75: .75,\n 100: 1\n )\n ),\n // scss-docs-end utils-borders\n // Sizing utilities\n // scss-docs-start utils-sizing\n \"width\": (\n property: width,\n class: w,\n values: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n )\n ),\n \"max-width\": (\n property: max-width,\n class: mw,\n values: (100: 100%)\n ),\n \"viewport-width\": (\n property: width,\n class: vw,\n values: (100: 100vw)\n ),\n \"min-viewport-width\": (\n property: min-width,\n class: min-vw,\n values: (100: 100vw)\n ),\n \"height\": (\n property: height,\n class: h,\n values: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n )\n ),\n \"max-height\": (\n property: max-height,\n class: mh,\n values: (100: 100%)\n ),\n \"viewport-height\": (\n property: height,\n class: vh,\n values: (100: 100vh)\n ),\n \"min-viewport-height\": (\n property: min-height,\n class: min-vh,\n values: (100: 100vh)\n ),\n // scss-docs-end utils-sizing\n // Flex utilities\n // scss-docs-start utils-flex\n \"flex\": (\n responsive: true,\n property: flex,\n values: (fill: 1 1 auto)\n ),\n \"flex-direction\": (\n responsive: true,\n property: flex-direction,\n class: flex,\n values: row column row-reverse column-reverse\n ),\n \"flex-grow\": (\n responsive: true,\n property: flex-grow,\n class: flex,\n values: (\n grow-0: 0,\n grow-1: 1,\n )\n ),\n \"flex-shrink\": (\n responsive: true,\n property: flex-shrink,\n class: flex,\n values: (\n shrink-0: 0,\n shrink-1: 1,\n )\n ),\n \"flex-wrap\": (\n responsive: true,\n property: flex-wrap,\n class: flex,\n values: wrap nowrap wrap-reverse\n ),\n \"justify-content\": (\n responsive: true,\n property: justify-content,\n values: (\n start: flex-start,\n end: flex-end,\n center: center,\n between: space-between,\n around: space-around,\n evenly: space-evenly,\n )\n ),\n \"align-items\": (\n responsive: true,\n property: align-items,\n values: (\n start: flex-start,\n end: flex-end,\n center: center,\n baseline: baseline,\n stretch: stretch,\n )\n ),\n \"align-content\": (\n responsive: true,\n property: align-content,\n values: (\n start: flex-start,\n end: flex-end,\n center: center,\n between: space-between,\n around: space-around,\n stretch: stretch,\n )\n ),\n \"align-self\": (\n responsive: true,\n property: align-self,\n values: (\n auto: auto,\n start: flex-start,\n end: flex-end,\n center: center,\n baseline: baseline,\n stretch: stretch,\n )\n ),\n \"order\": (\n responsive: true,\n property: order,\n values: (\n first: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n last: 6,\n ),\n ),\n // scss-docs-end utils-flex\n // Margin utilities\n // scss-docs-start utils-spacing\n \"margin\": (\n responsive: true,\n property: margin,\n class: m,\n values: map-merge($spacers, (auto: auto))\n ),\n \"margin-x\": (\n responsive: true,\n property: margin-right margin-left,\n class: mx,\n values: map-merge($spacers, (auto: auto))\n ),\n \"margin-y\": (\n responsive: true,\n property: margin-top margin-bottom,\n class: my,\n values: map-merge($spacers, (auto: auto))\n ),\n \"margin-top\": (\n responsive: true,\n property: margin-top,\n class: mt,\n values: map-merge($spacers, (auto: auto))\n ),\n \"margin-end\": (\n responsive: true,\n property: margin-right,\n class: me,\n values: map-merge($spacers, (auto: auto))\n ),\n \"margin-bottom\": (\n responsive: true,\n property: margin-bottom,\n class: mb,\n values: map-merge($spacers, (auto: auto))\n ),\n \"margin-start\": (\n responsive: true,\n property: margin-left,\n class: ms,\n values: map-merge($spacers, (auto: auto))\n ),\n // Negative margin utilities\n \"negative-margin\": (\n responsive: true,\n property: margin,\n class: m,\n values: $negative-spacers\n ),\n \"negative-margin-x\": (\n responsive: true,\n property: margin-right margin-left,\n class: mx,\n values: $negative-spacers\n ),\n \"negative-margin-y\": (\n responsive: true,\n property: margin-top margin-bottom,\n class: my,\n values: $negative-spacers\n ),\n \"negative-margin-top\": (\n responsive: true,\n property: margin-top,\n class: mt,\n values: $negative-spacers\n ),\n \"negative-margin-end\": (\n responsive: true,\n property: margin-right,\n class: me,\n values: $negative-spacers\n ),\n \"negative-margin-bottom\": (\n responsive: true,\n property: margin-bottom,\n class: mb,\n values: $negative-spacers\n ),\n \"negative-margin-start\": (\n responsive: true,\n property: margin-left,\n class: ms,\n values: $negative-spacers\n ),\n // Padding utilities\n \"padding\": (\n responsive: true,\n property: padding,\n class: p,\n values: $spacers\n ),\n \"padding-x\": (\n responsive: true,\n property: padding-right padding-left,\n class: px,\n values: $spacers\n ),\n \"padding-y\": (\n responsive: true,\n property: padding-top padding-bottom,\n class: py,\n values: $spacers\n ),\n \"padding-top\": (\n responsive: true,\n property: padding-top,\n class: pt,\n values: $spacers\n ),\n \"padding-end\": (\n responsive: true,\n property: padding-right,\n class: pe,\n values: $spacers\n ),\n \"padding-bottom\": (\n responsive: true,\n property: padding-bottom,\n class: pb,\n values: $spacers\n ),\n \"padding-start\": (\n responsive: true,\n property: padding-left,\n class: ps,\n values: $spacers\n ),\n // Gap utility\n \"gap\": (\n responsive: true,\n property: gap,\n class: gap,\n values: $spacers\n ),\n // scss-docs-end utils-spacing\n // Text\n // scss-docs-start utils-text\n \"font-family\": (\n property: font-family,\n class: font,\n values: (monospace: var(--#{$prefix}font-monospace))\n ),\n \"font-size\": (\n rfs: true,\n property: font-size,\n class: fs,\n values: $font-sizes\n ),\n \"font-style\": (\n property: font-style,\n class: fst,\n values: italic normal\n ),\n \"font-weight\": (\n property: font-weight,\n class: fw,\n values: (\n light: $font-weight-light,\n lighter: $font-weight-lighter,\n normal: $font-weight-normal,\n bold: $font-weight-bold,\n semibold: $font-weight-semibold,\n bolder: $font-weight-bolder\n )\n ),\n \"line-height\": (\n property: line-height,\n class: lh,\n values: (\n 1: 1,\n sm: $line-height-sm,\n base: $line-height-base,\n lg: $line-height-lg,\n )\n ),\n \"text-align\": (\n responsive: true,\n property: text-align,\n class: text,\n values: (\n start: left,\n end: right,\n center: center,\n )\n ),\n \"text-decoration\": (\n property: text-decoration,\n values: none underline line-through\n ),\n \"text-transform\": (\n property: text-transform,\n class: text,\n values: lowercase uppercase capitalize\n ),\n \"white-space\": (\n property: white-space,\n class: text,\n values: (\n wrap: normal,\n nowrap: nowrap,\n )\n ),\n \"word-wrap\": (\n property: word-wrap word-break,\n class: text,\n values: (break: break-word),\n rtl: false\n ),\n // scss-docs-end utils-text\n // scss-docs-start utils-color\n \"color\": (\n property: color,\n class: text,\n local-vars: (\n \"text-opacity\": 1\n ),\n values: map-merge(\n $utilities-text-colors,\n (\n \"muted\": $text-muted,\n \"black-50\": rgba($black, .5), // deprecated\n \"white-50\": rgba($white, .5), // deprecated\n \"reset\": inherit,\n )\n )\n ),\n \"text-opacity\": (\n css-var: true,\n class: text-opacity,\n values: (\n 25: .25,\n 50: .5,\n 75: .75,\n 100: 1\n )\n ),\n // scss-docs-end utils-color\n // scss-docs-start utils-bg-color\n \"background-color\": (\n property: background-color,\n class: bg,\n local-vars: (\n \"bg-opacity\": 1\n ),\n values: map-merge(\n $utilities-bg-colors,\n (\n \"transparent\": transparent\n )\n )\n ),\n \"bg-opacity\": (\n css-var: true,\n class: bg-opacity,\n values: (\n 10: .1,\n 25: .25,\n 50: .5,\n 75: .75,\n 100: 1\n )\n ),\n // scss-docs-end utils-bg-color\n \"gradient\": (\n property: background-image,\n class: bg,\n values: (gradient: var(--#{$prefix}gradient))\n ),\n // scss-docs-start utils-interaction\n \"user-select\": (\n property: user-select,\n values: all auto none\n ),\n \"pointer-events\": (\n property: pointer-events,\n class: pe,\n values: none auto,\n ),\n // scss-docs-end utils-interaction\n // scss-docs-start utils-border-radius\n \"rounded\": (\n property: border-radius,\n class: rounded,\n values: (\n null: var(--#{$prefix}border-radius),\n 0: 0,\n 1: var(--#{$prefix}border-radius-sm),\n 2: var(--#{$prefix}border-radius),\n 3: var(--#{$prefix}border-radius-lg),\n 4: var(--#{$prefix}border-radius-xl),\n 5: var(--#{$prefix}border-radius-2xl),\n circle: 50%,\n pill: var(--#{$prefix}border-radius-pill)\n )\n ),\n \"rounded-top\": (\n property: border-top-left-radius border-top-right-radius,\n class: rounded-top,\n values: (null: var(--#{$prefix}border-radius))\n ),\n \"rounded-end\": (\n property: border-top-right-radius border-bottom-right-radius,\n class: rounded-end,\n values: (null: var(--#{$prefix}border-radius))\n ),\n \"rounded-bottom\": (\n property: border-bottom-right-radius border-bottom-left-radius,\n class: rounded-bottom,\n values: (null: var(--#{$prefix}border-radius))\n ),\n \"rounded-start\": (\n property: border-bottom-left-radius border-top-left-radius,\n class: rounded-start,\n values: (null: var(--#{$prefix}border-radius))\n ),\n // scss-docs-end utils-border-radius\n // scss-docs-start utils-visibility\n \"visibility\": (\n property: visibility,\n class: null,\n values: (\n visible: visible,\n invisible: hidden,\n )\n )\n // scss-docs-end utils-visibility\n ),\n $utilities\n);\n", + ":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{$font-family-base};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n --#{$prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n --#{$prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-2xl: #{$border-radius-2xl};\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-hover-color: #{$link-hover-color};\n\n --#{$prefix}code-color: #{$code-color};\n\n --#{$prefix}highlight-bg: #{$mark-bg};\n}\n", + "// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 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\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. 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\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: var(--#{$prefix}link-color);\n text-decoration: $link-decoration;\n\n &:hover {\n color: var(--#{$prefix}link-hover-color);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n}\n\n// Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n// See https://stackoverflow.com/a/54997118\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\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: left; // 2\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// 1. A few input types should stay LTR\n// See https://rtlstyling.com/posts/rtl-styling#form-inputs\n// 2. RTL only output\n// See https://rtlcss.com/learn/usage-guide/control-directives/#raw\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n\n// 1. Inherit font family and line height for file input buttons\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::file-selector-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n", + "//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n .display-#{$display} {\n @include font-size($font-size);\n font-family: $display-font-family;\n font-style: $display-font-style;\n font-weight: $display-font-weight;\n line-height: $display-line-height;\n }\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-font-size);\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n", + "// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer * .5;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n", + "// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\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 %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n", + "// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n", + "//\n// Basic Bootstrap table\n//\n\n.table {\n --#{$prefix}table-color: #{$table-color};\n --#{$prefix}table-bg: #{$table-bg};\n --#{$prefix}table-border-color: #{$table-border-color};\n --#{$prefix}table-accent-bg: #{$table-accent-bg};\n --#{$prefix}table-striped-color: #{$table-striped-color};\n --#{$prefix}table-striped-bg: #{$table-striped-bg};\n --#{$prefix}table-active-color: #{$table-active-color};\n --#{$prefix}table-active-bg: #{$table-active-bg};\n --#{$prefix}table-hover-color: #{$table-hover-color};\n --#{$prefix}table-hover-bg: #{$table-hover-bg};\n\n width: 100%;\n margin-bottom: $spacer;\n color: var(--#{$prefix}table-color);\n vertical-align: $table-cell-vertical-align;\n border-color: var(--#{$prefix}table-border-color);\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y $table-cell-padding-x;\n background-color: var(--#{$prefix}table-bg);\n border-bottom-width: $table-border-width;\n box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-accent-bg);\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n}\n\n.table-group-divider {\n border-top: ($table-border-width * 2) solid $table-group-separator-color;\n}\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top {\n caption-side: top;\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n//\n// When borders are added on all sides of the cells, the corners can render odd when\n// these borders do not have the same color or if they are semi-transparent.\n// Therefor we add top and border bottoms to the `tr`s and left and right borders\n// to the `td`s or `th`s\n\n.table-bordered {\n > :not(caption) > * {\n border-width: $table-border-width 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 $table-border-width;\n }\n }\n}\n\n.table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-bottom-width: 0;\n }\n\n > :not(:first-child) {\n border-top-width: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n// For rows\n.table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg);\n color: var(--#{$prefix}table-striped-color);\n }\n}\n\n// For columns\n.table-striped-columns {\n > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n --#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg);\n color: var(--#{$prefix}table-striped-color);\n }\n}\n\n// Active table\n//\n// The `.table-active` class can be added to highlight rows or cells\n\n.table-active {\n --#{$prefix}table-accent-bg: var(--#{$prefix}table-active-bg);\n color: var(--#{$prefix}table-active-color);\n}\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover > * {\n --#{$prefix}table-accent-bg: var(--#{$prefix}table-hover-bg);\n color: var(--#{$prefix}table-hover-color);\n }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n @include table-variant($color, $value);\n}\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n", + "@import \"forms/labels\";\n@import \"forms/form-text\";\n@import \"forms/form-control\";\n@import \"forms/form-select\";\n@import \"forms/form-check\";\n@import \"forms/form-range\";\n@import \"forms/floating-labels\";\n@import \"forms/input-group\";\n@import \"forms/validation\";\n", + "//\n// Labels\n//\n\n.form-label {\n margin-bottom: $form-label-margin-bottom;\n @include font-size($form-label-font-size);\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n color: $form-label-color;\n}\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n line-height: $input-line-height;\n color: $form-label-color;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n", + "//\n// Form text\n//\n\n.form-text {\n margin-top: $form-text-margin-top;\n @include font-size($form-text-font-size);\n font-style: $form-text-font-style;\n font-weight: $form-text-font-weight;\n color: $form-text-color;\n}\n", + "//\n// General form controls (plus a few specific high-level interventions)\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n appearance: none; // Fix appearance for date inputs in Safari\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Add some height to date inputs on iOS\n // https://github.com/twbs/bootstrap/issues/23307\n // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n &::-webkit-date-and-time-value {\n // Multiply line-height by 1em if it has no unit\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled {\n color: $input-disabled-color;\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // File input buttons theming\n &::file-selector-button {\n padding: $input-padding-y $input-padding-x;\n margin: (-$input-padding-y) (-$input-padding-x);\n margin-inline-end: $input-padding-x;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: $input-border-width;\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition($btn-transition);\n }\n\n &:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: $form-file-button-hover-bg;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &:focus {\n outline: 0;\n }\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n\n &::file-selector-button {\n padding: $input-padding-y-sm $input-padding-x-sm;\n margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n margin-inline-end: $input-padding-x-sm;\n }\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n\n &::file-selector-button {\n padding: $input-padding-y-lg $input-padding-x-lg;\n margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n margin-inline-end: $input-padding-x-lg;\n }\n}\n\n// Make sure textareas don't shrink too much when resized\n// https://github.com/twbs/bootstrap/pull/29124\n// stylelint-disable selector-no-qualifying-type\ntextarea {\n &.form-control {\n min-height: $input-height;\n }\n\n &.form-control-sm {\n min-height: $input-height-sm;\n }\n\n &.form-control-lg {\n min-height: $input-height-lg;\n }\n}\n// stylelint-enable selector-no-qualifying-type\n\n.form-control-color {\n width: $form-color-width;\n height: $input-height;\n padding: $input-padding-y;\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n\n &::-moz-color-swatch {\n border: 0 !important; // stylelint-disable-line declaration-no-important\n @include border-radius($input-border-radius);\n }\n\n &::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n }\n\n &.form-control-sm { height: $input-height-sm; }\n &.form-control-lg { height: $input-height-lg; }\n}\n", + "// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;\n -moz-padding-start: subtract($form-select-padding-x, 3px); // See https://github.com/twbs/bootstrap/issues/32636\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n @include transition($form-select-transition);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $form-select-focus-box-shadow;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n @include border-radius($form-select-border-radius-sm);\n}\n\n.form-select-lg {\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n @include border-radius($form-select-border-radius-lg);\n}\n", + "//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-start;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-start * -1;\n }\n}\n\n.form-check-reverse {\n padding-right: $form-check-padding-start;\n padding-left: 0;\n text-align: right;\n\n .form-check-input {\n float: right;\n margin-right: $form-check-padding-start * -1;\n margin-left: 0;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: $form-check-input-border;\n appearance: none;\n print-color-adjust: exact; // Keep themed appearance for print\n @include transition($form-check-transition);\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $form-check-radio-border-radius;\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n border-color: $form-check-input-indeterminate-border-color;\n\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n }\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: $form-check-input-disabled-opacity;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n cursor: default;\n opacity: $form-check-label-disabled-opacity;\n }\n }\n}\n\n.form-check-label {\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-start;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-start * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-position: left center;\n @include border-radius($form-switch-border-radius);\n @include transition($form-switch-transition);\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), var(--#{$prefix}gradient);\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n\n &.form-check-reverse {\n padding-right: $form-switch-padding-start;\n padding-left: 0;\n\n .form-check-input {\n margin-right: $form-switch-padding-start * -1;\n margin-left: 0;\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-end;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n\n &[disabled],\n &:disabled {\n + .btn {\n pointer-events: none;\n filter: none;\n opacity: $form-check-btn-check-disabled-opacity;\n }\n }\n}\n", + "// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n", + ".form-floating {\n position: relative;\n\n > .form-control,\n > .form-control-plaintext,\n > .form-select {\n height: $form-floating-height;\n line-height: $form-floating-line-height;\n }\n\n > label {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; // allow textareas\n padding: $form-floating-padding-y $form-floating-padding-x;\n overflow: hidden;\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n transform-origin: 0 0;\n @include transition($form-floating-transition);\n }\n\n > .form-control,\n > .form-control-plaintext {\n padding: $form-floating-padding-y $form-floating-padding-x;\n\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n }\n\n > .form-select {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-control-plaintext,\n > .form-select {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n\n > .form-control-plaintext {\n ~ label {\n border-width: $input-border-width 0; // Required to properly position label text - as explained above\n }\n }\n}\n", + "//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-floating {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-floating:focus-within {\n z-index: 5;\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 5;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $input-group-addon-font-weight;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n &:not(.has-validation) {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n > .dropdown-toggle:nth-last-child(n + 3),\n > .form-floating:not(:last-child) > .form-control,\n > .form-floating:not(:last-child) > .form-select {\n @include border-end-radius(0);\n }\n }\n\n &.has-validation {\n > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n > .dropdown-toggle:nth-last-child(n + 4),\n > .form-floating:nth-last-child(n + 3) > .form-control,\n > .form-floating:nth-last-child(n + 3) > .form-select {\n @include border-end-radius(0);\n }\n }\n\n $validation-messages: \"\";\n @each $state in map-keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + unquote($state) + \"-tooltip)\" + \":not(.\" + unquote($state) + \"-feedback)\";\n }\n\n > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n margin-left: -$input-border-width;\n @include border-start-radius(0);\n }\n\n > .form-floating:not(:first-child) > .form-control,\n > .form-floating:not(:first-child) > .form-select {\n @include border-start-radius(0);\n }\n}\n", + "// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// scss-docs-start form-validation-states-loop\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, $data...);\n}\n// scss-docs-end form-validation-states-loop\n", + "//\n// Base styles\n//\n\n.btn {\n // scss-docs-start btn-css-vars\n --#{$prefix}btn-padding-x: #{$btn-padding-x};\n --#{$prefix}btn-padding-y: #{$btn-padding-y};\n --#{$prefix}btn-font-family: #{$btn-font-family};\n @include rfs($btn-font-size, --#{$prefix}btn-font-size);\n --#{$prefix}btn-font-weight: #{$btn-font-weight};\n --#{$prefix}btn-line-height: #{$btn-line-height};\n --#{$prefix}btn-color: #{$body-color};\n --#{$prefix}btn-bg: transparent;\n --#{$prefix}btn-border-width: #{$btn-border-width};\n --#{$prefix}btn-border-color: transparent;\n --#{$prefix}btn-border-radius: #{$btn-border-radius};\n --#{$prefix}btn-hover-border-color: transparent;\n --#{$prefix}btn-box-shadow: #{$btn-box-shadow};\n --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};\n --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);\n // scss-docs-end btn-css-vars\n\n display: inline-block;\n padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);\n font-family: var(--#{$prefix}btn-font-family);\n @include font-size(var(--#{$prefix}btn-font-size));\n font-weight: var(--#{$prefix}btn-font-weight);\n line-height: var(--#{$prefix}btn-line-height);\n color: var(--#{$prefix}btn-color);\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);\n @include border-radius(var(--#{$prefix}btn-border-radius));\n @include gradient-bg(var(--#{$prefix}btn-bg));\n @include box-shadow(var(--#{$prefix}btn-box-shadow));\n @include transition($btn-transition);\n\n &:hover {\n color: var(--#{$prefix}btn-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: var(--#{$prefix}btn-hover-bg);\n border-color: var(--#{$prefix}btn-hover-border-color);\n }\n\n .btn-check + &:hover {\n // override for the checkbox/radio buttons\n color: var(--#{$prefix}btn-color);\n background-color: var(--#{$prefix}btn-bg);\n border-color: var(--#{$prefix}btn-border-color);\n }\n\n &:focus-visible {\n color: var(--#{$prefix}btn-hover-color);\n @include gradient-bg(var(--#{$prefix}btn-hover-bg));\n border-color: var(--#{$prefix}btn-hover-border-color);\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);\n } @else {\n box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n }\n }\n\n .btn-check:focus-visible + & {\n border-color: var(--#{$prefix}btn-hover-border-color);\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);\n } @else {\n box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n }\n }\n\n .btn-check:checked + &,\n :not(.btn-check) + &:active,\n &:first-child:active,\n &.active,\n &.show {\n color: var(--#{$prefix}btn-active-color);\n background-color: var(--#{$prefix}btn-active-bg);\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: var(--#{$prefix}btn-active-border-color);\n @include box-shadow(var(--#{$prefix}btn-active-shadow));\n\n &:focus-visible {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);\n } @else {\n box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n }\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--#{$prefix}btn-disabled-color);\n pointer-events: none;\n background-color: var(--#{$prefix}btn-disabled-bg);\n background-image: if($enable-gradients, none, null);\n border-color: var(--#{$prefix}btn-disabled-border-color);\n opacity: var(--#{$prefix}btn-disabled-opacity);\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n// scss-docs-start btn-variant-loops\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @if $color == \"light\" {\n @include button-variant(\n $value,\n $value,\n $hover-background: shade-color($value, $btn-hover-bg-shade-amount),\n $hover-border: shade-color($value, $btn-hover-border-shade-amount),\n $active-background: shade-color($value, $btn-active-bg-shade-amount),\n $active-border: shade-color($value, $btn-active-border-shade-amount)\n );\n } @else if $color == \"dark\" {\n @include button-variant(\n $value,\n $value,\n $hover-background: tint-color($value, $btn-hover-bg-tint-amount),\n $hover-border: tint-color($value, $btn-hover-border-tint-amount),\n $active-background: tint-color($value, $btn-active-bg-tint-amount),\n $active-border: tint-color($value, $btn-active-border-tint-amount)\n );\n } @else {\n @include button-variant($value, $value);\n }\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n// scss-docs-end btn-variant-loops\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n --#{$prefix}btn-font-weight: #{$font-weight-normal};\n --#{$prefix}btn-color: #{$btn-link-color};\n --#{$prefix}btn-bg: transparent;\n --#{$prefix}btn-border-color: transparent;\n --#{$prefix}btn-hover-color: #{$btn-link-hover-color};\n --#{$prefix}btn-hover-border-color: transparent;\n --#{$prefix}btn-active-color: #{$btn-link-hover-color};\n --#{$prefix}btn-active-border-color: transparent;\n --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};\n --#{$prefix}btn-disabled-border-color: transparent;\n --#{$prefix}btn-box-shadow: none;\n --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix(color-contrast($primary), $primary, 15%))};\n\n text-decoration: $link-decoration;\n @if $enable-gradients {\n background-image: none;\n }\n\n &:hover,\n &:focus-visible {\n text-decoration: $link-hover-decoration;\n }\n\n &:focus-visible {\n color: var(--#{$prefix}btn-color);\n }\n\n &:hover {\n color: var(--#{$prefix}btn-hover-color);\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n", + ".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n\n &.collapse-horizontal {\n width: 0;\n height: auto;\n @include transition($transition-collapse-width);\n }\n}\n// scss-docs-end collapse-classes\n", + "// The dropdown wrapper (`<div>`)\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n // scss-docs-start dropdown-css-vars\n --#{$prefix}dropdown-zindex: #{$zindex-dropdown};\n --#{$prefix}dropdown-min-width: #{$dropdown-min-width};\n --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x};\n --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y};\n --#{$prefix}dropdown-spacer: #{$dropdown-spacer};\n @include rfs($dropdown-font-size, --#{$prefix}dropdown-font-size);\n --#{$prefix}dropdown-color: #{$dropdown-color};\n --#{$prefix}dropdown-bg: #{$dropdown-bg};\n --#{$prefix}dropdown-border-color: #{$dropdown-border-color};\n --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius};\n --#{$prefix}dropdown-border-width: #{$dropdown-border-width};\n --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius};\n --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg};\n --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y};\n --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow};\n --#{$prefix}dropdown-link-color: #{$dropdown-link-color};\n --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color};\n --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg};\n --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color};\n --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg};\n --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color};\n --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x};\n --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y};\n --#{$prefix}dropdown-header-color: #{$dropdown-header-color};\n --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x};\n --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y};\n // scss-docs-end dropdown-css-vars\n\n position: absolute;\n z-index: var(--#{$prefix}dropdown-zindex);\n display: none; // none by default, but block on \"open\" of the menu\n min-width: var(--#{$prefix}dropdown-min-width);\n padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x);\n margin: 0; // Override default margin of ul\n @include font-size(var(--#{$prefix}dropdown-font-size));\n color: var(--#{$prefix}dropdown-color);\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: var(--#{$prefix}dropdown-bg);\n background-clip: padding-box;\n border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color);\n @include border-radius(var(--#{$prefix}dropdown-border-radius));\n @include box-shadow(var(--#{$prefix}dropdown-box-shadow));\n\n &[data-bs-popper] {\n top: 100%;\n left: 0;\n margin-top: var(--#{$prefix}dropdown-spacer);\n }\n\n @if $dropdown-padding-y == 0 {\n > .dropdown-item:first-child,\n > li:first-child .dropdown-item {\n @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius));\n }\n > .dropdown-item:last-child,\n > li:last-child .dropdown-item {\n @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius));\n }\n\n }\n}\n\n// scss-docs-start responsive-breakpoints\n// We deliberately hardcode the `bs-` prefix because we check\n// this custom property in JS to determine Popper's positioning\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-start {\n --bs-position: start;\n\n &[data-bs-popper] {\n right: auto;\n left: 0;\n }\n }\n\n .dropdown-menu#{$infix}-end {\n --bs-position: end;\n\n &[data-bs-popper] {\n right: 0;\n left: auto;\n }\n }\n }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu[data-bs-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: var(--#{$prefix}dropdown-spacer);\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropend {\n .dropdown-menu[data-bs-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: var(--#{$prefix}dropdown-spacer);\n }\n\n .dropdown-toggle {\n @include caret(end);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropstart {\n .dropdown-menu[data-bs-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: var(--#{$prefix}dropdown-spacer);\n }\n\n .dropdown-toggle {\n @include caret(start);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: var(--#{$prefix}dropdown-divider-margin-y) 0;\n overflow: hidden;\n border-top: 1px solid var(--#{$prefix}dropdown-divider-bg);\n opacity: 1; // Revisit in v6 to de-dupe styles that conflict with <hr> element\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n clear: both;\n font-weight: $font-weight-normal;\n color: var(--#{$prefix}dropdown-link-color);\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n &:hover,\n &:focus {\n color: var(--#{$prefix}dropdown-link-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg(var(--#{$prefix}dropdown-link-hover-bg));\n }\n\n &.active,\n &:active {\n color: var(--#{$prefix}dropdown-link-active-color);\n text-decoration: none;\n @include gradient-bg(var(--#{$prefix}dropdown-link-active-bg));\n }\n\n &.disabled,\n &:disabled {\n color: var(--#{$prefix}dropdown-link-disabled-color);\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: var(--#{$prefix}dropdown-header-padding-y) var(--#{$prefix}dropdown-header-padding-x);\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: var(--#{$prefix}dropdown-header-color);\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n color: var(--#{$prefix}dropdown-link-color);\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n // scss-docs-start dropdown-dark-css-vars\n --#{$prefix}dropdown-color: #{$dropdown-dark-color};\n --#{$prefix}dropdown-bg: #{$dropdown-dark-bg};\n --#{$prefix}dropdown-border-color: #{$dropdown-dark-border-color};\n --#{$prefix}dropdown-box-shadow: #{$dropdown-dark-box-shadow};\n --#{$prefix}dropdown-link-color: #{$dropdown-dark-link-color};\n --#{$prefix}dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};\n --#{$prefix}dropdown-divider-bg: #{$dropdown-dark-divider-bg};\n --#{$prefix}dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};\n --#{$prefix}dropdown-link-active-color: #{$dropdown-dark-link-active-color};\n --#{$prefix}dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};\n --#{$prefix}dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};\n --#{$prefix}dropdown-header-color: #{$dropdown-dark-header-color};\n // scss-docs-end dropdown-dark-css-vars\n}\n", + "// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n }\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n > .btn-check:checked + .btn,\n > .btn-check:focus + .btn,\n > .btn:hover,\n > .btn:focus,\n > .btn:active,\n > .btn.active {\n z-index: 1;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n @include border-radius($btn-border-radius);\n\n // Prevent double borders when buttons are next to each other\n > :not(.btn-check:first-child) + .btn,\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn.dropdown-toggle-split:first-child,\n > .btn-group:not(:last-child) > .btn {\n @include border-end-radius(0);\n }\n\n // The left radius should be 0 if the button is:\n // - the \"third or more\" child\n // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n // - part of a btn-group which isn't the first child\n > .btn:nth-child(n + 3),\n > :not(.btn-check) + .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-start-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropend &::after {\n margin-left: 0;\n }\n\n .dropstart &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn ~ .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n", + "// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n // scss-docs-start nav-css-vars\n --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};\n --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n --#{$prefix}nav-link-color: #{$nav-link-color};\n --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};\n --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};\n // scss-docs-end nav-css-vars\n\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);\n @include font-size(var(--#{$prefix}nav-link-font-size));\n font-weight: var(--#{$prefix}nav-link-font-weight);\n color: var(--#{$prefix}nav-link-color);\n text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\n color: var(--#{$prefix}nav-link-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: var(--#{$prefix}nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n // scss-docs-start nav-tabs-css-vars\n --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};\n --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};\n --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};\n --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n // scss-docs-end nav-tabs-css-vars\n\n border-bottom: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);\n\n .nav-link {\n margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list\n background: none;\n border: var(--#{$prefix}nav-tabs-border-width) solid transparent;\n @include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));\n\n &:hover,\n &:focus {\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);\n }\n\n &.disabled,\n &:disabled {\n color: var(--#{$prefix}nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: var(--#{$prefix}nav-tabs-link-active-color);\n background-color: var(--#{$prefix}nav-tabs-link-active-bg);\n border-color: var(--#{$prefix}nav-tabs-link-active-border-color);\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n // scss-docs-start nav-pills-css-vars\n --#{$prefix}nav-pills-border-radius: #{$nav-pills-border-radius};\n --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};\n --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n // scss-docs-end nav-pills-css-vars\n\n .nav-link {\n background: none;\n border: 0;\n @include border-radius(var(--#{$prefix}nav-pills-border-radius));\n\n &:disabled {\n color: var(--#{$prefix}nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: var(--#{$prefix}nav-pills-link-active-color);\n @include gradient-bg(var(--#{$prefix}nav-pills-link-active-bg));\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n.nav-fill,\n.nav-justified {\n .nav-item .nav-link {\n width: 100%; // Make sure button will grow\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n", + "// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n // scss-docs-start navbar-css-vars\n --#{$prefix}navbar-padding-x: #{if($navbar-padding-x == null, 0, $navbar-padding-x)};\n --#{$prefix}navbar-padding-y: #{$navbar-padding-y};\n --#{$prefix}navbar-color: #{$navbar-light-color};\n --#{$prefix}navbar-hover-color: #{$navbar-light-hover-color};\n --#{$prefix}navbar-disabled-color: #{$navbar-light-disabled-color};\n --#{$prefix}navbar-active-color: #{$navbar-light-active-color};\n --#{$prefix}navbar-brand-padding-y: #{$navbar-brand-padding-y};\n --#{$prefix}navbar-brand-margin-end: #{$navbar-brand-margin-end};\n --#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size};\n --#{$prefix}navbar-brand-color: #{$navbar-light-brand-color};\n --#{$prefix}navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n --#{$prefix}navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n --#{$prefix}navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n --#{$prefix}navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n --#{$prefix}navbar-toggler-font-size: #{$navbar-toggler-font-size};\n --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n --#{$prefix}navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n --#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n --#{$prefix}navbar-toggler-focus-width: #{$navbar-toggler-focus-width};\n --#{$prefix}navbar-toggler-transition: #{$navbar-toggler-transition};\n // scss-docs-end navbar-css-vars\n\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: var(--#{$prefix}navbar-padding-y) var(--#{$prefix}navbar-padding-x);\n @include gradient-bg();\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: var(--#{$prefix}navbar-brand-padding-y);\n padding-bottom: var(--#{$prefix}navbar-brand-padding-y);\n margin-right: var(--#{$prefix}navbar-brand-margin-end);\n @include font-size(var(--#{$prefix}navbar-brand-font-size));\n color: var(--#{$prefix}navbar-brand-color);\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n color: var(--#{$prefix}navbar-brand-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n // scss-docs-start navbar-nav-css-vars\n --#{$prefix}nav-link-padding-x: 0;\n --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n --#{$prefix}nav-link-color: var(--#{$prefix}navbar-color);\n --#{$prefix}nav-link-hover-color: var(--#{$prefix}navbar-hover-color);\n --#{$prefix}nav-link-disabled-color: var(--#{$prefix}navbar-disabled-color);\n // scss-docs-end navbar-nav-css-vars\n\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .show > .nav-link,\n .nav-link.active {\n color: var(--#{$prefix}navbar-active-color);\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n color: var(--#{$prefix}navbar-color);\n\n a,\n a:hover,\n a:focus {\n color: var(--#{$prefix}navbar-active-color);\n }\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: var(--#{$prefix}navbar-toggler-padding-y) var(--#{$prefix}navbar-toggler-padding-x);\n @include font-size(var(--#{$prefix}navbar-toggler-font-size));\n line-height: 1;\n color: var(--#{$prefix}navbar-color);\n background-color: transparent; // remove default button style\n border: var(--#{$prefix}border-width) solid var(--#{$prefix}navbar-toggler-border-color); // remove default button style\n @include border-radius(var(--#{$prefix}navbar-toggler-border-radius));\n @include transition(var(--#{$prefix}navbar-toggler-transition));\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 var(--#{$prefix}navbar-toggler-focus-width);\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-image: var(--#{$prefix}navbar-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--#{$prefix}scroll-height, 75vh);\n overflow-y: auto;\n}\n\n// scss-docs-start navbar-expand-loop\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n // stylelint-disable-next-line scss/selector-no-union-class-name\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: var(--#{$prefix}navbar-nav-link-padding-x);\n padding-left: var(--#{$prefix}navbar-nav-link-padding-x);\n }\n }\n\n .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n\n .offcanvas {\n // stylelint-disable declaration-no-important\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n @include box-shadow(none);\n @include transition(none);\n // stylelint-enable declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n }\n }\n }\n }\n}\n// scss-docs-end navbar-expand-loop\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n.navbar-light {\n @include deprecate(\"`.navbar-light`\", \"v5.2.0\", \"v6.0.0\", true);\n}\n\n.navbar-dark {\n // scss-docs-start navbar-dark-css-vars\n --#{$prefix}navbar-color: #{$navbar-dark-color};\n --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};\n --#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color};\n --#{$prefix}navbar-active-color: #{$navbar-dark-active-color};\n --#{$prefix}navbar-brand-color: #{$navbar-dark-brand-color};\n --#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n --#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n // scss-docs-end navbar-dark-css-vars\n}\n", + "//\n// Base styles\n//\n\n.card {\n // scss-docs-start card-css-vars\n --#{$prefix}card-spacer-y: #{$card-spacer-y};\n --#{$prefix}card-spacer-x: #{$card-spacer-x};\n --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};\n --#{$prefix}card-border-width: #{$card-border-width};\n --#{$prefix}card-border-color: #{$card-border-color};\n --#{$prefix}card-border-radius: #{$card-border-radius};\n --#{$prefix}card-box-shadow: #{$card-box-shadow};\n --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};\n --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};\n --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};\n --#{$prefix}card-cap-bg: #{$card-cap-bg};\n --#{$prefix}card-cap-color: #{$card-cap-color};\n --#{$prefix}card-height: #{$card-height};\n --#{$prefix}card-color: #{$card-color};\n --#{$prefix}card-bg: #{$card-bg};\n --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};\n --#{$prefix}card-group-margin: #{$card-group-margin};\n // scss-docs-end card-css-vars\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: var(--#{$prefix}card-height);\n word-wrap: break-word;\n background-color: var(--#{$prefix}card-bg);\n background-clip: border-box;\n border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n @include border-radius(var(--#{$prefix}card-border-radius));\n @include box-shadow(var(--#{$prefix}card-box-shadow));\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);\n color: var(--#{$prefix}card-color);\n}\n\n.card-title {\n margin-bottom: var(--#{$prefix}card-title-spacer-y);\n}\n\n.card-subtitle {\n margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n + .card-link {\n margin-left: var(--#{$prefix}card-spacer-x);\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: var(--#{$prefix}card-cap-color);\n background-color: var(--#{$prefix}card-cap-bg);\n border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n &:first-child {\n @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);\n }\n}\n\n.card-footer {\n padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n color: var(--#{$prefix}card-cap-color);\n background-color: var(--#{$prefix}card-cap-bg);\n border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n &:last-child {\n @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n border-bottom: 0;\n\n .nav-link.active {\n background-color: var(--#{$prefix}card-bg);\n border-bottom-color: var(--#{$prefix}card-bg);\n }\n}\n\n.card-header-pills {\n margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--#{$prefix}card-img-overlay-padding);\n @include border-radius(var(--#{$prefix}card-inner-border-radius));\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: var(--#{$prefix}card-group-margin);\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-end-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-start-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n", + "//\n// Base styles\n//\n\n.accordion {\n // scss-docs-start accordion-css-vars\n --#{$prefix}accordion-color: #{$accordion-color};\n --#{$prefix}accordion-bg: #{$accordion-bg};\n --#{$prefix}accordion-transition: #{$accordion-transition};\n --#{$prefix}accordion-border-color: #{$accordion-border-color};\n --#{$prefix}accordion-border-width: #{$accordion-border-width};\n --#{$prefix}accordion-border-radius: #{$accordion-border-radius};\n --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};\n --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x};\n --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};\n --#{$prefix}accordion-btn-color: #{$accordion-button-color};\n --#{$prefix}accordion-btn-bg: #{$accordion-button-bg};\n --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)};\n --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width};\n --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};\n --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};\n --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};\n --#{$prefix}accordion-btn-focus-border-color: #{$accordion-button-focus-border-color};\n --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};\n --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};\n --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};\n --#{$prefix}accordion-active-color: #{$accordion-button-active-color};\n --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg};\n // scss-docs-end accordion-css-vars\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x);\n @include font-size($font-size-base);\n color: var(--#{$prefix}accordion-btn-color);\n text-align: left; // Reset button style\n background-color: var(--#{$prefix}accordion-btn-bg);\n border: 0;\n @include border-radius(0);\n overflow-anchor: none;\n @include transition(var(--#{$prefix}accordion-transition));\n\n &:not(.collapsed) {\n color: var(--#{$prefix}accordion-active-color);\n background-color: var(--#{$prefix}accordion-active-bg);\n box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list\n\n &::after {\n background-image: var(--#{$prefix}accordion-btn-active-icon);\n transform: var(--#{$prefix}accordion-btn-icon-transform);\n }\n }\n\n // Accordion icon\n &::after {\n flex-shrink: 0;\n width: var(--#{$prefix}accordion-btn-icon-width);\n height: var(--#{$prefix}accordion-btn-icon-width);\n margin-left: auto;\n content: \"\";\n background-image: var(--#{$prefix}accordion-btn-icon);\n background-repeat: no-repeat;\n background-size: var(--#{$prefix}accordion-btn-icon-width);\n @include transition(var(--#{$prefix}accordion-btn-icon-transition));\n }\n\n &:hover {\n z-index: 2;\n }\n\n &:focus {\n z-index: 3;\n border-color: var(--#{$prefix}accordion-btn-focus-border-color);\n outline: 0;\n box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);\n }\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n color: var(--#{$prefix}accordion-color);\n background-color: var(--#{$prefix}accordion-bg);\n border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color);\n\n &:first-of-type {\n @include border-top-radius(var(--#{$prefix}accordion-border-radius));\n\n .accordion-button {\n @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));\n }\n }\n\n &:not(:first-of-type) {\n border-top: 0;\n }\n\n // Only set a border-radius on the last item if the accordion is collapsed\n &:last-of-type {\n @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n\n .accordion-button {\n &.collapsed {\n @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));\n }\n }\n\n .accordion-collapse {\n @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n }\n }\n}\n\n.accordion-body {\n padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x);\n}\n\n\n// Flush accordion items\n//\n// Remove borders and border-radius to keep accordion items edge-to-edge.\n\n.accordion-flush {\n .accordion-collapse {\n border-width: 0;\n }\n\n .accordion-item {\n border-right: 0;\n border-left: 0;\n @include border-radius(0);\n\n &:first-child { border-top: 0; }\n &:last-child { border-bottom: 0; }\n\n .accordion-button {\n &,\n &.collapsed {\n @include border-radius(0);\n }\n }\n }\n}\n", + ".breadcrumb {\n // scss-docs-start breadcrumb-css-vars\n --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};\n --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};\n --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};\n @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size);\n --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};\n --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};\n --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};\n --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};\n --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};\n // scss-docs-end breadcrumb-css-vars\n\n display: flex;\n flex-wrap: wrap;\n padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x);\n margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom);\n @include font-size(var(--#{$prefix}breadcrumb-font-size));\n list-style: none;\n background-color: var(--#{$prefix}breadcrumb-bg);\n @include border-radius(var(--#{$prefix}breadcrumb-border-radius));\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: var(--#{$prefix}breadcrumb-item-padding-x);\n\n &::before {\n float: left; // Suppress inline spacings and underlining of the separator\n padding-right: var(--#{$prefix}breadcrumb-item-padding-x);\n color: var(--#{$prefix}breadcrumb-divider-color);\n content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{\"/* rtl:\"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{\"*/\"};\n }\n }\n\n &.active {\n color: var(--#{$prefix}breadcrumb-item-active-color);\n }\n}\n", + ".pagination {\n // scss-docs-start pagination-css-vars\n --#{$prefix}pagination-padding-x: #{$pagination-padding-x};\n --#{$prefix}pagination-padding-y: #{$pagination-padding-y};\n @include rfs($pagination-font-size, --#{$prefix}pagination-font-size);\n --#{$prefix}pagination-color: #{$pagination-color};\n --#{$prefix}pagination-bg: #{$pagination-bg};\n --#{$prefix}pagination-border-width: #{$pagination-border-width};\n --#{$prefix}pagination-border-color: #{$pagination-border-color};\n --#{$prefix}pagination-border-radius: #{$pagination-border-radius};\n --#{$prefix}pagination-hover-color: #{$pagination-hover-color};\n --#{$prefix}pagination-hover-bg: #{$pagination-hover-bg};\n --#{$prefix}pagination-hover-border-color: #{$pagination-hover-border-color};\n --#{$prefix}pagination-focus-color: #{$pagination-focus-color};\n --#{$prefix}pagination-focus-bg: #{$pagination-focus-bg};\n --#{$prefix}pagination-focus-box-shadow: #{$pagination-focus-box-shadow};\n --#{$prefix}pagination-active-color: #{$pagination-active-color};\n --#{$prefix}pagination-active-bg: #{$pagination-active-bg};\n --#{$prefix}pagination-active-border-color: #{$pagination-active-border-color};\n --#{$prefix}pagination-disabled-color: #{$pagination-disabled-color};\n --#{$prefix}pagination-disabled-bg: #{$pagination-disabled-bg};\n --#{$prefix}pagination-disabled-border-color: #{$pagination-disabled-border-color};\n // scss-docs-end pagination-css-vars\n\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: var(--#{$prefix}pagination-padding-y) var(--#{$prefix}pagination-padding-x);\n @include font-size(var(--#{$prefix}pagination-font-size));\n color: var(--#{$prefix}pagination-color);\n text-decoration: if($link-decoration == none, null, none);\n background-color: var(--#{$prefix}pagination-bg);\n border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color);\n @include transition($pagination-transition);\n\n &:hover {\n z-index: 2;\n color: var(--#{$prefix}pagination-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: var(--#{$prefix}pagination-hover-bg);\n border-color: var(--#{$prefix}pagination-hover-border-color);\n }\n\n &:focus {\n z-index: 3;\n color: var(--#{$prefix}pagination-focus-color);\n background-color: var(--#{$prefix}pagination-focus-bg);\n outline: $pagination-focus-outline;\n box-shadow: var(--#{$prefix}pagination-focus-box-shadow);\n }\n\n &.active,\n .active > & {\n z-index: 3;\n color: var(--#{$prefix}pagination-active-color);\n @include gradient-bg(var(--#{$prefix}pagination-active-bg));\n border-color: var(--#{$prefix}pagination-active-border-color);\n }\n\n &.disabled,\n .disabled > & {\n color: var(--#{$prefix}pagination-disabled-color);\n pointer-events: none;\n background-color: var(--#{$prefix}pagination-disabled-bg);\n border-color: var(--#{$prefix}pagination-disabled-border-color);\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-start;\n }\n\n @if $pagination-margin-start == ($pagination-border-width * -1) {\n &:first-child {\n .page-link {\n @include border-start-radius(var(--#{$prefix}pagination-border-radius));\n }\n }\n\n &:last-child {\n .page-link {\n @include border-end-radius(var(--#{$prefix}pagination-border-radius));\n }\n }\n } @else {\n // Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius(var(--#{$prefix}pagination-border-radius));\n }\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);\n}\n", + "// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n // scss-docs-start badge-css-vars\n --#{$prefix}badge-padding-x: #{$badge-padding-x};\n --#{$prefix}badge-padding-y: #{$badge-padding-y};\n @include rfs($badge-font-size, --#{$prefix}badge-font-size);\n --#{$prefix}badge-font-weight: #{$badge-font-weight};\n --#{$prefix}badge-color: #{$badge-color};\n --#{$prefix}badge-border-radius: #{$badge-border-radius};\n // scss-docs-end badge-css-vars\n\n display: inline-block;\n padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);\n @include font-size(var(--#{$prefix}badge-font-size));\n font-weight: var(--#{$prefix}badge-font-weight);\n line-height: 1;\n color: var(--#{$prefix}badge-color);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius(var(--#{$prefix}badge-border-radius));\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n", + "//\n// Base styles\n//\n\n.alert {\n // scss-docs-start alert-css-vars\n --#{$prefix}alert-bg: transparent;\n --#{$prefix}alert-padding-x: #{$alert-padding-x};\n --#{$prefix}alert-padding-y: #{$alert-padding-y};\n --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};\n --#{$prefix}alert-color: inherit;\n --#{$prefix}alert-border-color: transparent;\n --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color);\n --#{$prefix}alert-border-radius: #{$alert-border-radius};\n // scss-docs-end alert-css-vars\n\n position: relative;\n padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);\n margin-bottom: var(--#{$prefix}alert-margin-bottom);\n color: var(--#{$prefix}alert-color);\n background-color: var(--#{$prefix}alert-bg);\n border: var(--#{$prefix}alert-border);\n @include border-radius(var(--#{$prefix}alert-border-radius));\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $alert-dismissible-padding-r;\n\n // Adjust close link position\n .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: $stretched-link-z-index + 1;\n padding: $alert-padding-y * 1.25 $alert-padding-x;\n }\n}\n\n\n// scss-docs-start alert-modifiers\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $state, $value in $theme-colors {\n $alert-background: shift-color($value, $alert-bg-scale);\n $alert-border: shift-color($value, $alert-border-scale);\n $alert-color: shift-color($value, $alert-color-scale);\n\n @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) {\n $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale));\n }\n .alert-#{$state} {\n @include alert-variant($alert-background, $alert-border, $alert-color);\n }\n}\n// scss-docs-end alert-modifiers\n", + "// Disable animation if transitions are disabled\n\n// scss-docs-start progress-keyframes\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n// scss-docs-end progress-keyframes\n\n.progress {\n // scss-docs-start progress-css-vars\n --#{$prefix}progress-height: #{$progress-height};\n @include rfs($progress-font-size, --#{$prefix}progress-font-size);\n --#{$prefix}progress-bg: #{$progress-bg};\n --#{$prefix}progress-border-radius: #{$progress-border-radius};\n --#{$prefix}progress-box-shadow: #{$progress-box-shadow};\n --#{$prefix}progress-bar-color: #{$progress-bar-color};\n --#{$prefix}progress-bar-bg: #{$progress-bar-bg};\n --#{$prefix}progress-bar-transition: #{$progress-bar-transition};\n // scss-docs-end progress-css-vars\n\n display: flex;\n height: var(--#{$prefix}progress-height);\n overflow: hidden; // force rounded corners by cropping it\n @include font-size(var(--#{$prefix}progress-font-size));\n background-color: var(--#{$prefix}progress-bg);\n @include border-radius(var(--#{$prefix}progress-border-radius));\n @include box-shadow(var(--#{$prefix}progress-box-shadow));\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--#{$prefix}progress-bar-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--#{$prefix}progress-bar-bg);\n @include transition(var(--#{$prefix}progress-bar-transition));\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: var(--#{$prefix}progress-height) var(--#{$prefix}progress-height);\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: $progress-bar-animation-timing progress-bar-stripes;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n", + "// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n // scss-docs-start list-group-css-vars\n --#{$prefix}list-group-color: #{$list-group-color};\n --#{$prefix}list-group-bg: #{$list-group-bg};\n --#{$prefix}list-group-border-color: #{$list-group-border-color};\n --#{$prefix}list-group-border-width: #{$list-group-border-width};\n --#{$prefix}list-group-border-radius: #{$list-group-border-radius};\n --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};\n --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};\n --#{$prefix}list-group-action-color: #{$list-group-action-color};\n --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};\n --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};\n --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};\n --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};\n --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};\n --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};\n --#{$prefix}list-group-active-color: #{$list-group-active-color};\n --#{$prefix}list-group-active-bg: #{$list-group-active-bg};\n --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};\n // scss-docs-end list-group-css-vars\n\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius(var(--#{$prefix}list-group-border-radius));\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n\n > .list-group-item::before {\n // Increments only this instance of the section counter\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n}\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: var(--#{$prefix}list-group-action-color);\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: var(--#{$prefix}list-group-action-hover-color);\n text-decoration: none;\n background-color: var(--#{$prefix}list-group-action-hover-bg);\n }\n\n &:active {\n color: var(--#{$prefix}list-group-action-active-color);\n background-color: var(--#{$prefix}list-group-action-active-bg);\n }\n}\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: var(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);\n color: var(--#{$prefix}list-group-color);\n text-decoration: if($link-decoration == none, null, none);\n background-color: var(--#{$prefix}list-group-bg);\n border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}list-group-border-color);\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: var(--#{$prefix}list-group-disabled-color);\n pointer-events: none;\n background-color: var(--#{$prefix}list-group-disabled-bg);\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: var(--#{$prefix}list-group-active-color);\n background-color: var(--#{$prefix}list-group-active-bg);\n border-color: var(--#{$prefix}list-group-active-border-color);\n }\n\n // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n & + .list-group-item {\n border-top-width: 0;\n\n &.active {\n margin-top: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list\n border-top-width: var(--#{$prefix}list-group-border-width);\n }\n }\n}\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child:not(:last-child) {\n @include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius));\n @include border-top-end-radius(0);\n }\n\n &:last-child:not(:first-child) {\n @include border-top-end-radius(var(--#{$prefix}list-group-border-radius));\n @include border-bottom-start-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: var(--#{$prefix}list-group-border-width);\n border-left-width: 0;\n\n &.active {\n margin-left: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list\n border-left-width: var(--#{$prefix}list-group-border-width);\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 var(--#{$prefix}list-group-border-width);\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// scss-docs-start list-group-modifiers\n// List group contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $state, $value in $theme-colors {\n $list-group-variant-bg: shift-color($value, $list-group-item-bg-scale);\n $list-group-variant-color: shift-color($value, $list-group-item-color-scale);\n @if (contrast-ratio($list-group-variant-bg, $list-group-variant-color) < $min-contrast-ratio) {\n $list-group-variant-color: mix($value, color-contrast($list-group-variant-bg), abs($list-group-item-color-scale));\n }\n\n @include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color);\n}\n// scss-docs-end list-group-modifiers\n", + "// Transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n.btn-close {\n box-sizing: content-box;\n width: $btn-close-width;\n height: $btn-close-height;\n padding: $btn-close-padding-y $btn-close-padding-x;\n color: $btn-close-color;\n background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements\n border: 0; // for button elements\n @include border-radius();\n opacity: $btn-close-opacity;\n\n // Override <a>'s hover style\n &:hover {\n color: $btn-close-color;\n text-decoration: none;\n opacity: $btn-close-hover-opacity;\n }\n\n &:focus {\n outline: 0;\n box-shadow: $btn-close-focus-shadow;\n opacity: $btn-close-focus-opacity;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: $btn-close-disabled-opacity;\n }\n}\n\n.btn-close-white {\n filter: $btn-close-white-filter;\n}\n", + ".toast {\n // scss-docs-start toast-css-vars\n --#{$prefix}toast-zindex: #{$zindex-toast};\n --#{$prefix}toast-padding-x: #{$toast-padding-x};\n --#{$prefix}toast-padding-y: #{$toast-padding-y};\n --#{$prefix}toast-spacing: #{$toast-spacing};\n --#{$prefix}toast-max-width: #{$toast-max-width};\n @include rfs($toast-font-size, --#{$prefix}toast-font-size);\n --#{$prefix}toast-color: #{$toast-color};\n --#{$prefix}toast-bg: #{$toast-background-color};\n --#{$prefix}toast-border-width: #{$toast-border-width};\n --#{$prefix}toast-border-color: #{$toast-border-color};\n --#{$prefix}toast-border-radius: #{$toast-border-radius};\n --#{$prefix}toast-box-shadow: #{$toast-box-shadow};\n --#{$prefix}toast-header-color: #{$toast-header-color};\n --#{$prefix}toast-header-bg: #{$toast-header-background-color};\n --#{$prefix}toast-header-border-color: #{$toast-header-border-color};\n // scss-docs-end toast-css-vars\n\n width: var(--#{$prefix}toast-max-width);\n max-width: 100%;\n @include font-size(var(--#{$prefix}toast-font-size));\n color: var(--#{$prefix}toast-color);\n pointer-events: auto;\n background-color: var(--#{$prefix}toast-bg);\n background-clip: padding-box;\n border: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-border-color);\n box-shadow: var(--#{$prefix}toast-box-shadow);\n @include border-radius(var(--#{$prefix}toast-border-radius));\n\n &.showing {\n opacity: 0;\n }\n\n &:not(.show) {\n display: none;\n }\n}\n\n.toast-container {\n --#{$prefix}toast-zindex: #{$zindex-toast};\n\n position: absolute;\n z-index: var(--#{$prefix}toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n\n > :not(:last-child) {\n margin-bottom: var(--#{$prefix}toast-spacing);\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: var(--#{$prefix}toast-padding-y) var(--#{$prefix}toast-padding-x);\n color: var(--#{$prefix}toast-header-color);\n background-color: var(--#{$prefix}toast-header-bg);\n background-clip: padding-box;\n border-bottom: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-header-border-color);\n @include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));\n\n .btn-close {\n margin-right: calc(-.5 * var(--#{$prefix}toast-padding-x)); // stylelint-disable-line function-disallowed-list\n margin-left: var(--#{$prefix}toast-padding-x);\n }\n}\n\n.toast-body {\n padding: var(--#{$prefix}toast-padding-x);\n word-wrap: break-word;\n}\n", + "// stylelint-disable function-disallowed-list\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n// Container that the modal scrolls within\n.modal {\n // scss-docs-start modal-css-vars\n --#{$prefix}modal-zindex: #{$zindex-modal};\n --#{$prefix}modal-width: #{$modal-md};\n --#{$prefix}modal-padding: #{$modal-inner-padding};\n --#{$prefix}modal-margin: #{$modal-dialog-margin};\n --#{$prefix}modal-color: #{$modal-content-color};\n --#{$prefix}modal-bg: #{$modal-content-bg};\n --#{$prefix}modal-border-color: #{$modal-content-border-color};\n --#{$prefix}modal-border-width: #{$modal-content-border-width};\n --#{$prefix}modal-border-radius: #{$modal-content-border-radius};\n --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};\n --#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};\n --#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};\n --#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};\n --#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y\n --#{$prefix}modal-header-border-color: #{$modal-header-border-color};\n --#{$prefix}modal-header-border-width: #{$modal-header-border-width};\n --#{$prefix}modal-title-line-height: #{$modal-title-line-height};\n --#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};\n --#{$prefix}modal-footer-bg: #{$modal-footer-bg};\n --#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};\n --#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};\n // scss-docs-end modal-css-vars\n\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--#{$prefix}modal-zindex);\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: var(--#{$prefix}modal-margin);\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - var(--#{$prefix}modal-margin) * 2);\n\n .modal-content {\n max-height: 100%;\n overflow: hidden;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - var(--#{$prefix}modal-margin) * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: var(--#{$prefix}modal-color);\n pointer-events: auto;\n background-color: var(--#{$prefix}modal-bg);\n background-clip: padding-box;\n border: var(--#{$prefix}modal-border-width) solid var(--#{$prefix}modal-border-color);\n @include border-radius(var(--#{$prefix}modal-border-radius));\n @include box-shadow(var(--#{$prefix}modal-box-shadow));\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n // scss-docs-start modal-backdrop-css-vars\n --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};\n --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};\n --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};\n // scss-docs-end modal-backdrop-css-vars\n\n @include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: var(--#{$prefix}modal-header-padding);\n border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);\n @include border-top-radius(var(--#{$prefix}modal-inner-border-radius));\n\n .btn-close {\n padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);\n margin: calc(-.5 * var(--#{$prefix}modal-header-padding-y)) calc(-.5 * var(--#{$prefix}modal-header-padding-x)) calc(-.5 * var(--#{$prefix}modal-header-padding-y)) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: var(--#{$prefix}modal-title-line-height);\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: var(--#{$prefix}modal-padding);\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: calc(var(--#{$prefix}modal-padding) - var(--#{$prefix}modal-footer-gap) * .5);\n background-color: var(--#{$prefix}modal-footer-bg);\n border-top: var(--#{$prefix}modal-footer-border-width) solid var(--#{$prefix}modal-footer-border-color);\n @include border-bottom-radius(var(--#{$prefix}modal-inner-border-radius));\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: calc(var(--#{$prefix}modal-footer-gap) * .5); // Todo in v6: replace with gap on parent class\n }\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n .modal {\n --#{$prefix}modal-margin: #{$modal-dialog-margin-y-sm-up};\n --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-sm-up};\n }\n\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: var(--#{$prefix}modal-width);\n margin-right: auto;\n margin-left: auto;\n }\n\n .modal-sm {\n --#{$prefix}modal-width: #{$modal-sm};\n }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n --#{$prefix}modal-width: #{$modal-lg};\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl {\n --#{$prefix}modal-width: #{$modal-xl};\n }\n}\n\n// scss-docs-start modal-fullscreen-loop\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n @include media-breakpoint-down($breakpoint) {\n .modal-fullscreen#{$postfix} {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border: 0;\n @include border-radius(0);\n }\n\n .modal-header,\n .modal-footer {\n @include border-radius(0);\n }\n\n .modal-body {\n overflow-y: auto;\n }\n }\n }\n}\n// scss-docs-end modal-fullscreen-loop\n", + "// Base class\n.tooltip {\n // scss-docs-start tooltip-css-vars\n --#{$prefix}tooltip-zindex: #{$zindex-tooltip};\n --#{$prefix}tooltip-max-width: #{$tooltip-max-width};\n --#{$prefix}tooltip-padding-x: #{$tooltip-padding-x};\n --#{$prefix}tooltip-padding-y: #{$tooltip-padding-y};\n --#{$prefix}tooltip-margin: #{$tooltip-margin};\n @include rfs($tooltip-font-size, --#{$prefix}tooltip-font-size);\n --#{$prefix}tooltip-color: #{$tooltip-color};\n --#{$prefix}tooltip-bg: #{$tooltip-bg};\n --#{$prefix}tooltip-border-radius: #{$tooltip-border-radius};\n --#{$prefix}tooltip-opacity: #{$tooltip-opacity};\n --#{$prefix}tooltip-arrow-width: #{$tooltip-arrow-width};\n --#{$prefix}tooltip-arrow-height: #{$tooltip-arrow-height};\n // scss-docs-end tooltip-css-vars\n\n z-index: var(--#{$prefix}tooltip-zindex);\n display: block;\n padding: var(--#{$prefix}tooltip-arrow-height);\n margin: var(--#{$prefix}tooltip-margin);\n @include deprecate(\"`$tooltip-margin`\", \"v5\", \"v5.x\", true);\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size(var(--#{$prefix}tooltip-font-size));\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: var(--#{$prefix}tooltip-opacity); }\n\n .tooltip-arrow {\n display: block;\n width: var(--#{$prefix}tooltip-arrow-width);\n height: var(--#{$prefix}tooltip-arrow-height);\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: -1px;\n border-width: var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n border-top-color: var(--#{$prefix}tooltip-bg);\n }\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow {\n left: 0;\n width: var(--#{$prefix}tooltip-arrow-height);\n height: var(--#{$prefix}tooltip-arrow-width);\n\n &::before {\n right: -1px;\n border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n border-right-color: var(--#{$prefix}tooltip-bg);\n }\n}\n\n/* rtl:end:ignore */\n\n.bs-tooltip-bottom .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: -1px;\n border-width: 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height); // stylelint-disable-line function-disallowed-list\n border-bottom-color: var(--#{$prefix}tooltip-bg);\n }\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow {\n right: 0;\n width: var(--#{$prefix}tooltip-arrow-height);\n height: var(--#{$prefix}tooltip-arrow-width);\n\n &::before {\n left: -1px;\n border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height); // stylelint-disable-line function-disallowed-list\n border-left-color: var(--#{$prefix}tooltip-bg);\n }\n}\n\n/* rtl:end:ignore */\n\n.bs-tooltip-auto {\n &[data-popper-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[data-popper-placement^=\"right\"] {\n @extend .bs-tooltip-end;\n }\n &[data-popper-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[data-popper-placement^=\"left\"] {\n @extend .bs-tooltip-start;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: var(--#{$prefix}tooltip-max-width);\n padding: var(--#{$prefix}tooltip-padding-y) var(--#{$prefix}tooltip-padding-x);\n color: var(--#{$prefix}tooltip-color);\n text-align: center;\n background-color: var(--#{$prefix}tooltip-bg);\n @include border-radius(var(--#{$prefix}tooltip-border-radius));\n}\n", + ".popover {\n // scss-docs-start popover-css-vars\n --#{$prefix}popover-zindex: #{$zindex-popover};\n --#{$prefix}popover-max-width: #{$popover-max-width};\n @include rfs($popover-font-size, --#{$prefix}popover-font-size);\n --#{$prefix}popover-bg: #{$popover-bg};\n --#{$prefix}popover-border-width: #{$popover-border-width};\n --#{$prefix}popover-border-color: #{$popover-border-color};\n --#{$prefix}popover-border-radius: #{$popover-border-radius};\n --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};\n --#{$prefix}popover-box-shadow: #{$popover-box-shadow};\n --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};\n --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};\n @include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size);\n --#{$prefix}popover-header-color: #{$popover-header-color};\n --#{$prefix}popover-header-bg: #{$popover-header-bg};\n --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};\n --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};\n --#{$prefix}popover-body-color: #{$popover-body-color};\n --#{$prefix}popover-arrow-width: #{$popover-arrow-width};\n --#{$prefix}popover-arrow-height: #{$popover-arrow-height};\n --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);\n // scss-docs-end popover-css-vars\n\n z-index: var(--#{$prefix}popover-zindex);\n display: block;\n max-width: var(--#{$prefix}popover-max-width);\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size(var(--#{$prefix}popover-font-size));\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: var(--#{$prefix}popover-bg);\n background-clip: padding-box;\n border: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n @include border-radius(var(--#{$prefix}popover-border-radius));\n @include box-shadow(var(--#{$prefix}popover-box-shadow));\n\n .popover-arrow {\n display: block;\n width: var(--#{$prefix}popover-arrow-width);\n height: var(--#{$prefix}popover-arrow-height);\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n }\n}\n\n.bs-popover-top {\n > .popover-arrow {\n bottom: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n\n &::before,\n &::after {\n border-width: var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n }\n\n &::before {\n bottom: 0;\n border-top-color: var(--#{$prefix}popover-arrow-border);\n }\n\n &::after {\n bottom: var(--#{$prefix}popover-border-width);\n border-top-color: var(--#{$prefix}popover-bg);\n }\n }\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end {\n > .popover-arrow {\n left: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n width: var(--#{$prefix}popover-arrow-height);\n height: var(--#{$prefix}popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n }\n\n &::before {\n left: 0;\n border-right-color: var(--#{$prefix}popover-arrow-border);\n }\n\n &::after {\n left: var(--#{$prefix}popover-border-width);\n border-right-color: var(--#{$prefix}popover-bg);\n }\n }\n}\n\n/* rtl:end:ignore */\n\n.bs-popover-bottom {\n > .popover-arrow {\n top: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n\n &::before,\n &::after {\n border-width: 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height); // stylelint-disable-line function-disallowed-list\n }\n\n &::before {\n top: 0;\n border-bottom-color: var(--#{$prefix}popover-arrow-border);\n }\n\n &::after {\n top: var(--#{$prefix}popover-border-width);\n border-bottom-color: var(--#{$prefix}popover-bg);\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--#{$prefix}popover-arrow-width);\n margin-left: calc(-.5 * var(--#{$prefix}popover-arrow-width)); // stylelint-disable-line function-disallowed-list\n content: \"\";\n border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg);\n }\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start {\n > .popover-arrow {\n right: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n width: var(--#{$prefix}popover-arrow-height);\n height: var(--#{$prefix}popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height); // stylelint-disable-line function-disallowed-list\n }\n\n &::before {\n right: 0;\n border-left-color: var(--#{$prefix}popover-arrow-border);\n }\n\n &::after {\n right: var(--#{$prefix}popover-border-width);\n border-left-color: var(--#{$prefix}popover-bg);\n }\n }\n}\n\n/* rtl:end:ignore */\n\n.bs-popover-auto {\n &[data-popper-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[data-popper-placement^=\"right\"] {\n @extend .bs-popover-end;\n }\n &[data-popper-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[data-popper-placement^=\"left\"] {\n @extend .bs-popover-start;\n }\n}\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: var(--#{$prefix}popover-header-padding-y) var(--#{$prefix}popover-header-padding-x);\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size(var(--#{$prefix}popover-header-font-size));\n color: var(--#{$prefix}popover-header-color);\n background-color: var(--#{$prefix}popover-header-bg);\n border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n @include border-top-radius(var(--#{$prefix}popover-inner-border-radius));\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: var(--#{$prefix}popover-body-padding-y) var(--#{$prefix}popover-body-padding-x);\n color: var(--#{$prefix}popover-body-color);\n}\n", + "// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-start,\n .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-start,\n .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n padding: 0;\n color: $carousel-control-color;\n text-align: center;\n background: none;\n border: 0;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n/* rtl:options: {\n \"autoRename\": true,\n \"stringMap\":[ {\n \"name\" : \"prev-next\",\n \"search\" : \"prev\",\n \"replace\" : \"next\"\n } ]\n} */\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n// Optional indicator pips/controls\n//\n// Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n// like a button) with data-bs-target for each slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-bottom: 1rem;\n margin-left: $carousel-control-width;\n list-style: none;\n\n [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n padding: 0;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n border: 0;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) * .5;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) * .5;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n\n// Dark mode carousel\n\n.carousel-dark {\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n filter: $carousel-dark-control-icon-filter;\n }\n\n .carousel-indicators [data-bs-target] {\n background-color: $carousel-dark-indicator-active-bg;\n }\n\n .carousel-caption {\n color: $carousel-dark-caption-color;\n }\n}\n", + "//\n// Rotating border\n//\n\n.spinner-grow,\n.spinner-border {\n display: inline-block;\n width: var(--#{$prefix}spinner-width);\n height: var(--#{$prefix}spinner-height);\n vertical-align: var(--#{$prefix}spinner-vertical-align);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: var(--#{$prefix}spinner-animation-speed) linear infinite var(--#{$prefix}spinner-animation-name);\n}\n\n// scss-docs-start spinner-border-keyframes\n@keyframes spinner-border {\n to { transform: rotate(360deg) #{\"/* rtl:ignore */\"}; }\n}\n// scss-docs-end spinner-border-keyframes\n\n.spinner-border {\n // scss-docs-start spinner-border-css-vars\n --#{$prefix}spinner-width: #{$spinner-width};\n --#{$prefix}spinner-height: #{$spinner-height};\n --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n --#{$prefix}spinner-border-width: #{$spinner-border-width};\n --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n --#{$prefix}spinner-animation-name: spinner-border;\n // scss-docs-end spinner-border-css-vars\n\n border: var(--#{$prefix}spinner-border-width) solid currentcolor;\n border-right-color: transparent;\n}\n\n.spinner-border-sm {\n // scss-docs-start spinner-border-sm-css-vars\n --#{$prefix}spinner-width: #{$spinner-width-sm};\n --#{$prefix}spinner-height: #{$spinner-height-sm};\n --#{$prefix}spinner-border-width: #{$spinner-border-width-sm};\n // scss-docs-end spinner-border-sm-css-vars\n}\n\n//\n// Growing circle\n//\n\n// scss-docs-start spinner-grow-keyframes\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n// scss-docs-end spinner-grow-keyframes\n\n.spinner-grow {\n // scss-docs-start spinner-grow-css-vars\n --#{$prefix}spinner-width: #{$spinner-width};\n --#{$prefix}spinner-height: #{$spinner-height};\n --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n --#{$prefix}spinner-animation-name: spinner-grow;\n // scss-docs-end spinner-grow-css-vars\n\n background-color: currentcolor;\n opacity: 0;\n}\n\n.spinner-grow-sm {\n --#{$prefix}spinner-width: #{$spinner-width-sm};\n --#{$prefix}spinner-height: #{$spinner-height-sm};\n}\n\n@if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed * 2};\n }\n }\n}\n", + "// stylelint-disable function-disallowed-list\n\n%offcanvas-css-vars {\n // scss-docs-start offcanvas-css-vars\n --#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};\n --#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};\n --#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};\n --#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};\n --#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y};\n --#{$prefix}offcanvas-color: #{$offcanvas-color};\n --#{$prefix}offcanvas-bg: #{$offcanvas-bg-color};\n --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};\n --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};\n --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};\n // scss-docs-end offcanvas-css-vars\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n .offcanvas#{$infix} {\n @extend %offcanvas-css-vars;\n }\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n .offcanvas#{$infix} {\n @include media-breakpoint-down($next) {\n position: fixed;\n bottom: 0;\n z-index: var(--#{$prefix}offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--#{$prefix}offcanvas-color);\n visibility: hidden;\n background-color: var(--#{$prefix}offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n @include box-shadow(var(--#{$prefix}offcanvas-box-shadow));\n @include transition(transform $offcanvas-transition-duration ease-in-out);\n\n &.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--#{$prefix}offcanvas-width);\n border-right: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n transform: translateX(-100%);\n }\n\n &.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--#{$prefix}offcanvas-width);\n border-left: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n transform: translateX(100%);\n }\n\n &.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--#{$prefix}offcanvas-height);\n max-height: 100%;\n border-bottom: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n transform: translateY(-100%);\n }\n\n &.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--#{$prefix}offcanvas-height);\n max-height: 100%;\n border-top: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n transform: translateY(100%);\n }\n\n &.showing,\n &.show:not(.hiding) {\n transform: none;\n }\n\n &.showing,\n &.hiding,\n &.show {\n visibility: visible;\n }\n }\n\n @if not ($infix == \"\") {\n @include media-breakpoint-up($next) {\n --#{$prefix}offcanvas-height: auto;\n --#{$prefix}offcanvas-border-width: 0;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n // Reset `background-color` in case `.bg-*` classes are used in offcanvas\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n }\n }\n }\n }\n}\n\n.offcanvas-backdrop {\n @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n\n .btn-close {\n padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);\n margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));\n margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n }\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: $offcanvas-title-line-height;\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n overflow-y: auto;\n}\n", + ".placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: $placeholder-opacity-max;\n\n &.btn::before {\n display: inline-block;\n content: \"\";\n }\n}\n\n// Sizing\n.placeholder-xs {\n min-height: .6em;\n}\n\n.placeholder-sm {\n min-height: .8em;\n}\n\n.placeholder-lg {\n min-height: 1.2em;\n}\n\n// Animation\n.placeholder-glow {\n .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n}\n\n@keyframes placeholder-glow {\n 50% {\n opacity: $placeholder-opacity-min;\n }\n}\n\n.placeholder-wave {\n mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n}\n", + "@import \"helpers/clearfix\";\n@import \"helpers/color-bg\";\n@import \"helpers/colored-links\";\n@import \"helpers/ratio\";\n@import \"helpers/position\";\n@import \"helpers/stacks\";\n@import \"helpers/visually-hidden\";\n@import \"helpers/stretched-link\";\n@import \"helpers/text-truncation\";\n@import \"helpers/vr\";\n", + ".clearfix {\n @include clearfix();\n}\n", + "// stylelint-disable function-name-case\n\n// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n@each $color, $value in $theme-colors {\n $color-rgb: to-rgb($value);\n .text-bg-#{$color} {\n color: color-contrast($value) if($enable-important-utilities, !important, null);\n background-color: RGBA($color-rgb, var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);\n }\n}\n", + "@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value !important; // stylelint-disable-line declaration-no-important\n\n @if $link-shade-percentage != 0 {\n &:hover,\n &:focus {\n color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage)) !important; // stylelint-disable-line declaration-no-important\n }\n }\n }\n}\n", + "// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n padding-top: var(--#{$prefix}aspect-ratio);\n content: \"\";\n }\n\n > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $aspect-ratios {\n .ratio-#{$key} {\n --#{$prefix}aspect-ratio: #{$ratio};\n }\n}\n", + "// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top and bottom\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n\n .sticky#{$infix}-bottom {\n position: sticky;\n bottom: 0;\n z-index: $zindex-sticky;\n }\n }\n}\n", + "// scss-docs-start stacks\n.hstack {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n}\n\n.vstack {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-self: stretch;\n}\n// scss-docs-end stacks\n", + "//\n// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n}\n", + "//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n", + "//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n", + ".vr {\n display: inline-block;\n align-self: stretch;\n width: 1px;\n min-height: 1em;\n background-color: currentcolor;\n opacity: $hr-opacity;\n}\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 type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\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 type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\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 type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/styles/scss/app.scss b/styles/scss/app.scss new file mode 100644 index 0000000000000000000000000000000000000000..8ace9ef7e7e564249e83fb3891d054a93bc0b6cd --- /dev/null +++ b/styles/scss/app.scss @@ -0,0 +1,20 @@ +@import url('https://fonts.googleapis.com/css2?family=Jacques+Francois+Shadow&family=Roboto:wght@500&display=swap'); +@import "../bootstrap/bootstrap"; + +:root{ + --primary: #165B26; +} + +body { + font-family: 'Roboto', sans-serif; +} + +a { + color: var(--primary); + text-decoration: none; +} + +.navbar .logo { + font-family: 'Jacques Francois Shadow', cursive; + font-size: 2rem; +} \ No newline at end of file