From cb0b8364172ff66e179b6eb4f909bbf53a01d240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20Can=20Karag=C3=B6z?= Date: Wed, 21 Oct 2026 10:39:31 +0300 Subject: [PATCH 1/6] New App: Identity Lab as UltimateAuth Live Sandbox Showcase --- UltimateAuth.slnx | 3 + .../CodeBeam.UltimateAuth.IdentityLab.csproj | 33 + .../Components/App.razor | 30 + .../Components/Layout/MainLayout.razor | 23 + .../Components/Layout/MainLayout.razor.css | 98 + .../Components/Layout/NavMenu.razor | 30 + .../Components/Layout/NavMenu.razor.css | 105 + .../Components/Layout/ReconnectModal.razor | 31 + .../Layout/ReconnectModal.razor.css | 157 + .../Components/Layout/ReconnectModal.razor.js | 63 + .../Components/Pages/Counter.razor | 18 + .../Components/Pages/Error.razor | 36 + .../Components/Pages/Home.razor | 7 + .../Components/Pages/NotFound.razor | 5 + .../Components/Pages/Weather.razor | 63 + .../Components/Routes.razor | 2 + .../Components/_Imports.razor | 18 + ...1021071142_InitialUltimateAuth.Designer.cs | 734 + .../20261021071142_InitialUltimateAuth.cs | 573 + .../Migrations/UAuthDbContextModelSnapshot.cs | 731 + .../Program.cs | 75 + .../Properties/launchSettings.json | 23 + .../appsettings.Development.json | 8 + .../appsettings.json | 9 + .../wwwroot/app.css | 60 + .../wwwroot/favicon.png | Bin 0 -> 1148 bytes .../lib/bootstrap/dist/css/bootstrap-grid.css | 4085 ++++++ .../bootstrap/dist/css/bootstrap-grid.css.map | 1 + .../bootstrap/dist/css/bootstrap-grid.min.css | 6 + .../dist/css/bootstrap-grid.min.css.map | 1 + .../bootstrap/dist/css/bootstrap-grid.rtl.css | 4084 ++++++ .../dist/css/bootstrap-grid.rtl.css.map | 1 + .../dist/css/bootstrap-grid.rtl.min.css | 6 + .../dist/css/bootstrap-grid.rtl.min.css.map | 1 + .../bootstrap/dist/css/bootstrap-reboot.css | 597 + .../dist/css/bootstrap-reboot.css.map | 1 + .../dist/css/bootstrap-reboot.min.css | 6 + .../dist/css/bootstrap-reboot.min.css.map | 1 + .../dist/css/bootstrap-reboot.rtl.css | 594 + .../dist/css/bootstrap-reboot.rtl.css.map | 1 + .../dist/css/bootstrap-reboot.rtl.min.css | 6 + .../dist/css/bootstrap-reboot.rtl.min.css.map | 1 + .../dist/css/bootstrap-utilities.css | 5402 +++++++ .../dist/css/bootstrap-utilities.css.map | 1 + .../dist/css/bootstrap-utilities.min.css | 6 + .../dist/css/bootstrap-utilities.min.css.map | 1 + .../dist/css/bootstrap-utilities.rtl.css | 5393 +++++++ .../dist/css/bootstrap-utilities.rtl.css.map | 1 + .../dist/css/bootstrap-utilities.rtl.min.css | 6 + .../css/bootstrap-utilities.rtl.min.css.map | 1 + .../lib/bootstrap/dist/css/bootstrap.css | 12057 ++++++++++++++++ .../lib/bootstrap/dist/css/bootstrap.css.map | 1 + .../lib/bootstrap/dist/css/bootstrap.min.css | 6 + .../bootstrap/dist/css/bootstrap.min.css.map | 1 + .../lib/bootstrap/dist/css/bootstrap.rtl.css | 12030 +++++++++++++++ .../bootstrap/dist/css/bootstrap.rtl.css.map | 1 + .../bootstrap/dist/css/bootstrap.rtl.min.css | 6 + .../dist/css/bootstrap.rtl.min.css.map | 1 + .../lib/bootstrap/dist/js/bootstrap.bundle.js | 6314 ++++++++ .../bootstrap/dist/js/bootstrap.bundle.js.map | 1 + .../bootstrap/dist/js/bootstrap.bundle.min.js | 7 + .../dist/js/bootstrap.bundle.min.js.map | 1 + .../lib/bootstrap/dist/js/bootstrap.esm.js | 4447 ++++++ .../bootstrap/dist/js/bootstrap.esm.js.map | 1 + .../bootstrap/dist/js/bootstrap.esm.min.js | 7 + .../dist/js/bootstrap.esm.min.js.map | 1 + .../lib/bootstrap/dist/js/bootstrap.js | 4494 ++++++ .../lib/bootstrap/dist/js/bootstrap.js.map | 1 + .../lib/bootstrap/dist/js/bootstrap.min.js | 7 + .../bootstrap/dist/js/bootstrap.min.js.map | 1 + 70 files changed, 62523 insertions(+) create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/CodeBeam.UltimateAuth.IdentityLab.csproj create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/MainLayout.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/MainLayout.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/NavMenu.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/NavMenu.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor.js create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Counter.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Error.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Home.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/NotFound.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Weather.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Routes.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/20261021071142_InitialUltimateAuth.Designer.cs create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/20261021071142_InitialUltimateAuth.cs create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/UAuthDbContextModelSnapshot.cs create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Properties/launchSettings.json create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/appsettings.Development.json create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/appsettings.json create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/app.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/favicon.png create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.js create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map diff --git a/UltimateAuth.slnx b/UltimateAuth.slnx index 38a6f7cc..050c32e0 100644 --- a/UltimateAuth.slnx +++ b/UltimateAuth.slnx @@ -1,4 +1,7 @@ + + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/CodeBeam.UltimateAuth.IdentityLab.csproj b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/CodeBeam.UltimateAuth.IdentityLab.csproj new file mode 100644 index 00000000..5987c73f --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/CodeBeam.UltimateAuth.IdentityLab.csproj @@ -0,0 +1,33 @@ + + + + net10.0 + enable + enable + true + false + 4f9706a0-d4d2-476c-bd8f-9bd1cd4f6f0e + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor new file mode 100644 index 00000000..5a4fcd73 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/MainLayout.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/MainLayout.razor new file mode 100644 index 00000000..78624f3d --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/MainLayout.razor @@ -0,0 +1,23 @@ +@inherits LayoutComponentBase + +
+ + +
+
+ About +
+ +
+ @Body +
+
+
+ +
+ An unhandled error has occurred. + Reload + 🗙 +
diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/MainLayout.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/MainLayout.razor.css new file mode 100644 index 00000000..38d1f259 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/MainLayout.razor.css @@ -0,0 +1,98 @@ +.page { + position: relative; + display: flex; + flex-direction: column; +} + +main { + flex: 1; +} + +.sidebar { + background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); +} + +.top-row { + background-color: #f7f7f7; + border-bottom: 1px solid #d6d5d5; + justify-content: flex-end; + height: 3.5rem; + display: flex; + align-items: center; +} + + .top-row ::deep a, .top-row ::deep .btn-link { + white-space: nowrap; + margin-left: 1.5rem; + text-decoration: none; + } + + .top-row ::deep a:hover, .top-row ::deep .btn-link:hover { + text-decoration: underline; + } + + .top-row ::deep a:first-child { + overflow: hidden; + text-overflow: ellipsis; + } + +@media (max-width: 640.98px) { + .top-row { + justify-content: space-between; + } + + .top-row ::deep a, .top-row ::deep .btn-link { + margin-left: 0; + } +} + +@media (min-width: 641px) { + .page { + flex-direction: row; + } + + .sidebar { + width: 250px; + height: 100vh; + position: sticky; + top: 0; + } + + .top-row { + position: sticky; + top: 0; + z-index: 1; + } + + .top-row.auth ::deep a:first-child { + flex: 1; + text-align: right; + width: 0; + } + + .top-row, article { + padding-left: 2rem !important; + padding-right: 1.5rem !important; + } +} + +#blazor-error-ui { + color-scheme: light only; + background: lightyellow; + bottom: 0; + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); + box-sizing: border-box; + display: none; + left: 0; + padding: 0.6rem 1.25rem 0.7rem 1.25rem; + position: fixed; + width: 100%; + z-index: 1000; +} + + #blazor-error-ui .dismiss { + cursor: pointer; + position: absolute; + right: 0.75rem; + top: 0.5rem; + } diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/NavMenu.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/NavMenu.razor new file mode 100644 index 00000000..e3a301b1 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/NavMenu.razor @@ -0,0 +1,30 @@ + + + + + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/NavMenu.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/NavMenu.razor.css new file mode 100644 index 00000000..a2aeace9 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/NavMenu.razor.css @@ -0,0 +1,105 @@ +.navbar-toggler { + appearance: none; + cursor: pointer; + width: 3.5rem; + height: 2.5rem; + color: white; + position: absolute; + top: 0.5rem; + right: 1rem; + border: 1px solid rgba(255, 255, 255, 0.1); + background: 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") no-repeat center/1.75rem rgba(255, 255, 255, 0.1); +} + +.navbar-toggler:checked { + background-color: rgba(255, 255, 255, 0.5); +} + +.top-row { + min-height: 3.5rem; + background-color: rgba(0,0,0,0.4); +} + +.navbar-brand { + font-size: 1.1rem; +} + +.bi { + display: inline-block; + position: relative; + width: 1.25rem; + height: 1.25rem; + margin-right: 0.75rem; + top: -1px; + background-size: cover; +} + +.bi-house-door-fill-nav-menu { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E"); +} + +.bi-plus-square-fill-nav-menu { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E"); +} + +.bi-list-nested-nav-menu { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E"); +} + +.nav-item { + font-size: 0.9rem; + padding-bottom: 0.5rem; +} + + .nav-item:first-of-type { + padding-top: 1rem; + } + + .nav-item:last-of-type { + padding-bottom: 1rem; + } + + .nav-item ::deep .nav-link { + color: #d7d7d7; + background: none; + border: none; + border-radius: 4px; + height: 3rem; + display: flex; + align-items: center; + line-height: 3rem; + width: 100%; + } + +.nav-item ::deep a.active { + background-color: rgba(255,255,255,0.37); + color: white; +} + +.nav-item ::deep .nav-link:hover { + background-color: rgba(255,255,255,0.1); + color: white; +} + +.nav-scrollable { + display: none; +} + +.navbar-toggler:checked ~ .nav-scrollable { + display: block; +} + +@media (min-width: 641px) { + .navbar-toggler { + display: none; + } + + .nav-scrollable { + /* Never collapse the sidebar for wide screens */ + display: block; + + /* Allow sidebar to scroll for tall menus */ + height: calc(100vh - 3.5rem); + overflow-y: auto; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor new file mode 100644 index 00000000..e740b0c8 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor @@ -0,0 +1,31 @@ + + + +
+ +

+ Rejoining the server... +

+

+ Rejoin failed... trying again in seconds. +

+

+ Failed to rejoin.
Please retry or reload the page. +

+ +

+ The session has been paused by the server. +

+

+ Failed to resume the session.
Please retry or reload the page. +

+ +
+
diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor.css new file mode 100644 index 00000000..3ad3773f --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor.css @@ -0,0 +1,157 @@ +.components-reconnect-first-attempt-visible, +.components-reconnect-repeated-attempt-visible, +.components-reconnect-failed-visible, +.components-pause-visible, +.components-resume-failed-visible, +.components-rejoining-animation { + display: none; +} + +#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible, +#components-reconnect-modal.components-reconnect-show .components-rejoining-animation, +#components-reconnect-modal.components-reconnect-paused .components-pause-visible, +#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible, +#components-reconnect-modal.components-reconnect-retrying, +#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible, +#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation, +#components-reconnect-modal.components-reconnect-failed, +#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible { + display: block; +} + + +#components-reconnect-modal { + background-color: white; + width: 20rem; + margin: 20vh auto; + padding: 2rem; + border: 0; + border-radius: 0.5rem; + box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3); + opacity: 0; + transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete; + animation: components-reconnect-modal-fadeOutOpacity 0.5s both; + &[open] + +{ + animation: components-reconnect-modal-slideUp 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity 0.5s ease-in-out 0.3s; + animation-fill-mode: both; +} + +} + +#components-reconnect-modal::backdrop { + background-color: rgba(0, 0, 0, 0.4); + animation: components-reconnect-modal-fadeInOpacity 0.5s ease-in-out; + opacity: 1; +} + +@keyframes components-reconnect-modal-slideUp { + 0% { + transform: translateY(30px) scale(0.95); + } + + 100% { + transform: translateY(0); + } +} + +@keyframes components-reconnect-modal-fadeInOpacity { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes components-reconnect-modal-fadeOutOpacity { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.components-reconnect-container { + display: flex; + flex-direction: column; + align-items: center; + gap: 1rem; +} + +#components-reconnect-modal p { + margin: 0; + text-align: center; +} + +#components-reconnect-modal button { + border: 0; + background-color: #6b9ed2; + color: white; + padding: 4px 24px; + border-radius: 4px; +} + + #components-reconnect-modal button:hover { + background-color: #3b6ea2; + } + + #components-reconnect-modal button:active { + background-color: #6b9ed2; + } + +.components-rejoining-animation { + position: relative; + width: 80px; + height: 80px; +} + + .components-rejoining-animation div { + position: absolute; + border: 3px solid #0087ff; + opacity: 1; + border-radius: 50%; + animation: components-rejoining-animation 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite; + } + + .components-rejoining-animation div:nth-child(2) { + animation-delay: -0.5s; + } + +@keyframes components-rejoining-animation { + 0% { + top: 40px; + left: 40px; + width: 0; + height: 0; + opacity: 0; + } + + 4.9% { + top: 40px; + left: 40px; + width: 0; + height: 0; + opacity: 0; + } + + 5% { + top: 40px; + left: 40px; + width: 0; + height: 0; + opacity: 1; + } + + 100% { + top: 0px; + left: 0px; + width: 80px; + height: 80px; + opacity: 0; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor.js b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor.js new file mode 100644 index 00000000..a44de78d --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/ReconnectModal.razor.js @@ -0,0 +1,63 @@ +// Set up event handlers +const reconnectModal = document.getElementById("components-reconnect-modal"); +reconnectModal.addEventListener("components-reconnect-state-changed", handleReconnectStateChanged); + +const retryButton = document.getElementById("components-reconnect-button"); +retryButton.addEventListener("click", retry); + +const resumeButton = document.getElementById("components-resume-button"); +resumeButton.addEventListener("click", resume); + +function handleReconnectStateChanged(event) { + if (event.detail.state === "show") { + reconnectModal.showModal(); + } else if (event.detail.state === "hide") { + reconnectModal.close(); + } else if (event.detail.state === "failed") { + document.addEventListener("visibilitychange", retryWhenDocumentBecomesVisible); + } else if (event.detail.state === "rejected") { + location.reload(); + } +} + +async function retry() { + document.removeEventListener("visibilitychange", retryWhenDocumentBecomesVisible); + + try { + // Reconnect will asynchronously return: + // - true to mean success + // - false to mean we reached the server, but it rejected the connection (e.g., unknown circuit ID) + // - exception to mean we didn't reach the server (this can be sync or async) + const successful = await Blazor.reconnect(); + if (!successful) { + // We have been able to reach the server, but the circuit is no longer available. + // We'll reload the page so the user can continue using the app as quickly as possible. + const resumeSuccessful = await Blazor.resumeCircuit(); + if (!resumeSuccessful) { + location.reload(); + } else { + reconnectModal.close(); + } + } + } catch (err) { + // We got an exception, server is currently unavailable + document.addEventListener("visibilitychange", retryWhenDocumentBecomesVisible); + } +} + +async function resume() { + try { + const successful = await Blazor.resumeCircuit(); + if (!successful) { + location.reload(); + } + } catch { + reconnectModal.classList.replace("components-reconnect-paused", "components-reconnect-resume-failed"); + } +} + +async function retryWhenDocumentBecomesVisible() { + if (document.visibilityState === "visible") { + await retry(); + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Counter.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Counter.razor new file mode 100644 index 00000000..ef23cb31 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Counter.razor @@ -0,0 +1,18 @@ +@page "/counter" + +Counter + +

Counter

+ +

Current count: @currentCount

+ + + +@code { + private int currentCount = 0; + + private void IncrementCount() + { + currentCount++; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Error.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Error.razor new file mode 100644 index 00000000..576cc2d2 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Error.razor @@ -0,0 +1,36 @@ +@page "/Error" +@using System.Diagnostics + +Error + +

Error.

+

An error occurred while processing your request.

+ +@if (ShowRequestId) +{ +

+ Request ID: @RequestId +

+} + +

Development Mode

+

+ Swapping to Development environment will display more detailed information about the error that occurred. +

+

+ The Development environment shouldn't be enabled for deployed applications. + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development + and restarting the app. +

+ +@code{ + [CascadingParameter] + private HttpContext? HttpContext { get; set; } + + private string? RequestId { get; set; } + private bool ShowRequestId => !string.IsNullOrEmpty(RequestId); + + protected override void OnInitialized() => + RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Home.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Home.razor new file mode 100644 index 00000000..9001e0bd --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Home.razor @@ -0,0 +1,7 @@ +@page "/" + +Home + +

Hello, world!

+ +Welcome to your new app. diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/NotFound.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/NotFound.razor new file mode 100644 index 00000000..917ada1d --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/NotFound.razor @@ -0,0 +1,5 @@ +@page "/not-found" +@layout MainLayout + +

Not Found

+

Sorry, the content you are looking for does not exist.

\ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Weather.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Weather.razor new file mode 100644 index 00000000..2a2a6cfb --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Weather.razor @@ -0,0 +1,63 @@ +@page "/weather" + +Weather + +

Weather

+ +

This component demonstrates showing data.

+ +@if (forecasts == null) +{ +

Loading...

+} +else +{ + + + + + + + + + + + @foreach (var forecast in forecasts) + { + + + + + + + } + +
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
+} + +@code { + private WeatherForecast[]? forecasts; + + protected override async Task OnInitializedAsync() + { + // Simulate asynchronous loading to demonstrate a loading indicator + await Task.Delay(500); + + var startDate = DateOnly.FromDateTime(DateTime.Now); + var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; + forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = startDate.AddDays(index), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = summaries[Random.Shared.Next(summaries.Length)] + }).ToArray(); + } + + private class WeatherForecast + { + public DateOnly Date { get; set; } + public int TemperatureC { get; set; } + public string? Summary { get; set; } + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Routes.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Routes.razor new file mode 100644 index 00000000..1b979547 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Routes.razor @@ -0,0 +1,2 @@ + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor new file mode 100644 index 00000000..c4eaeae5 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor @@ -0,0 +1,18 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using CodeBeam.UltimateAuth.IdentityLab +@using CodeBeam.UltimateAuth.IdentityLab.Components +@using CodeBeam.UltimateAuth.IdentityLab.Components.Layout + +@using CodeBeam.UltimateAuth.Sample.Shared.Components +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Page +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + +@using MudBlazor +@using MudExtensions diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/20261021071142_InitialUltimateAuth.Designer.cs b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/20261021071142_InitialUltimateAuth.Designer.cs new file mode 100644 index 00000000..c40fccc1 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/20261021071142_InitialUltimateAuth.Designer.cs @@ -0,0 +1,734 @@ +// +using System; +using CodeBeam.UltimateAuth.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace CodeBeam.UltimateAuth.IdentityLab.Migrations +{ + [DbContext(typeof(UAuthDbContext))] + [Migration("20261021071142_InitialUltimateAuth")] + partial class InitialUltimateAuth + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "10.0.12") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Authentication.EntityFrameworkCore.AuthenticationSecurityStateProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CredentialType") + .HasColumnType("integer"); + + b.Property("FailedAttempts") + .HasColumnType("integer"); + + b.Property("LastFailedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("LockedUntil") + .HasColumnType("timestamp with time zone"); + + b.Property("RequiresReauthentication") + .HasColumnType("boolean"); + + b.Property("ResetAttempts") + .HasColumnType("integer"); + + b.Property("ResetConsumedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ResetExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ResetRequestedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ResetTokenHash") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("Scope") + .HasColumnType("integer"); + + b.Property("SecurityVersion") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "LockedUntil"); + + b.HasIndex("Tenant", "ResetRequestedAt"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "UserKey", "Scope"); + + b.HasIndex("Tenant", "UserKey", "Scope", "CredentialType") + .IsUnique(); + + b.ToTable("UAuth_Authentication", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Authorization.EntityFrameworkCore.RolePermissionProjection", b => + { + b.Property("Tenant") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("Permission") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Tenant", "RoleId", "Permission"); + + b.HasIndex("Tenant", "Permission"); + + b.HasIndex("Tenant", "RoleId"); + + b.ToTable("UAuth_RolePermissions", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Authorization.EntityFrameworkCore.RoleProjection", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "Id") + .IsUnique(); + + b.HasIndex("Tenant", "NormalizedName") + .IsUnique(); + + b.ToTable("UAuth_Roles", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Authorization.EntityFrameworkCore.UserRoleProjection", b => + { + b.Property("Tenant") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UserKey") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("AssignedAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Tenant", "UserKey", "RoleId"); + + b.HasIndex("Tenant", "RoleId"); + + b.HasIndex("Tenant", "UserKey"); + + b.ToTable("UAuth_UserRoles", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Credentials.EntityFrameworkCore.PasswordCredentialProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("LastUsedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("SecretHash") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("SecurityStamp") + .HasColumnType("uuid"); + + b.Property("Source") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "ExpiresAt"); + + b.HasIndex("Tenant", "Id") + .IsUnique(); + + b.HasIndex("Tenant", "RevokedAt"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "UserKey", "DeletedAt"); + + b.ToTable("UAuth_PasswordCredentials", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionChainProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AbsoluteExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ActiveSessionId") + .HasColumnType("text"); + + b.Property("ChainId") + .HasColumnType("uuid"); + + b.Property("ClaimsSnapshot") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Device") + .IsRequired() + .HasColumnType("text"); + + b.Property("DeviceId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("LastSeenAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RootId") + .HasColumnType("uuid"); + + b.Property("RotationCount") + .HasColumnType("integer"); + + b.Property("SecurityVersionAtCreation") + .HasColumnType("bigint"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("TouchCount") + .HasColumnType("integer"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "ChainId") + .IsUnique(); + + b.HasIndex("Tenant", "RootId"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "UserKey", "DeviceId"); + + b.ToTable("UAuth_SessionChains", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChainId") + .HasColumnType("uuid"); + + b.Property("Claims") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Device") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Metadata") + .IsRequired() + .HasColumnType("text"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("SecurityVersionAtCreation") + .HasColumnType("bigint"); + + b.Property("SessionId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "ChainId"); + + b.HasIndex("Tenant", "ExpiresAt"); + + b.HasIndex("Tenant", "RevokedAt"); + + b.HasIndex("Tenant", "SessionId") + .IsUnique(); + + b.HasIndex("Tenant", "ChainId", "RevokedAt"); + + b.HasIndex("Tenant", "UserKey", "RevokedAt"); + + b.ToTable("UAuth_Sessions", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionRootProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RootId") + .HasMaxLength(128) + .HasColumnType("uuid"); + + b.Property("SecurityVersion") + .HasColumnType("bigint"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "RootId") + .IsUnique(); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "UserKey", "RevokedAt"); + + b.ToTable("UAuth_SessionRoots", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Tokens.EntityFrameworkCore.RefreshTokenProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChainId") + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ReplacedByTokenHash") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("SessionId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("TokenHash") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("TokenId") + .HasColumnType("uuid"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "ChainId"); + + b.HasIndex("Tenant", "ExpiresAt"); + + b.HasIndex("Tenant", "ReplacedByTokenHash"); + + b.HasIndex("Tenant", "SessionId"); + + b.HasIndex("Tenant", "TokenHash") + .IsUnique(); + + b.HasIndex("Tenant", "TokenId"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "ExpiresAt", "RevokedAt"); + + b.HasIndex("Tenant", "TokenHash", "RevokedAt"); + + b.ToTable("UAuth_RefreshTokens", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Users.EntityFrameworkCore.UserIdentifierProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("IsPrimary") + .HasColumnType("boolean"); + + b.Property("NormalizedValue") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Type") + .HasColumnType("integer"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("VerifiedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "NormalizedValue"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "Type", "NormalizedValue") + .IsUnique(); + + b.HasIndex("Tenant", "UserKey", "IsPrimary"); + + b.HasIndex("Tenant", "UserKey", "Type", "IsPrimary", "DeletedAt", "CreatedAt", "Id"); + + b.ToTable("UAuth_UserIdentifiers", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Users.EntityFrameworkCore.UserLifecycleProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("SecurityVersion") + .HasColumnType("bigint"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "UserKey") + .IsUnique(); + + b.HasIndex("Tenant", "DeletedAt", "CreatedAt", "Id"); + + b.HasIndex("Tenant", "Status", "DeletedAt", "CreatedAt", "Id"); + + b.ToTable("UAuth_UserLifecycles", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Users.EntityFrameworkCore.UserProfileProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Bio") + .HasColumnType("text"); + + b.Property("BirthDate") + .HasColumnType("date"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Culture") + .HasColumnType("text"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DisplayName") + .HasColumnType("text"); + + b.Property("FirstName") + .HasColumnType("text"); + + b.Property("Gender") + .HasColumnType("text"); + + b.Property("Language") + .HasColumnType("text"); + + b.Property("LastName") + .HasColumnType("text"); + + b.Property("Metadata") + .HasColumnType("text"); + + b.Property("ProfileKey") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("TimeZone") + .HasColumnType("text"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "UserKey", "ProfileKey") + .IsUnique(); + + b.ToTable("UAuth_UserProfiles", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionChainProjection", b => + { + b.HasOne("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionRootProjection", null) + .WithMany() + .HasForeignKey("Tenant", "RootId") + .HasPrincipalKey("Tenant", "RootId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionProjection", b => + { + b.HasOne("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionChainProjection", null) + .WithMany() + .HasForeignKey("Tenant", "ChainId") + .HasPrincipalKey("Tenant", "ChainId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/20261021071142_InitialUltimateAuth.cs b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/20261021071142_InitialUltimateAuth.cs new file mode 100644 index 00000000..423fe4c1 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/20261021071142_InitialUltimateAuth.cs @@ -0,0 +1,573 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace CodeBeam.UltimateAuth.IdentityLab.Migrations +{ + /// + public partial class InitialUltimateAuth : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "UAuth_Authentication", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + Scope = table.Column(type: "integer", nullable: false), + CredentialType = table.Column(type: "integer", nullable: true), + FailedAttempts = table.Column(type: "integer", nullable: false), + LastFailedAt = table.Column(type: "timestamp with time zone", nullable: true), + LockedUntil = table.Column(type: "timestamp with time zone", nullable: true), + RequiresReauthentication = table.Column(type: "boolean", nullable: false), + ResetRequestedAt = table.Column(type: "timestamp with time zone", nullable: true), + ResetExpiresAt = table.Column(type: "timestamp with time zone", nullable: true), + ResetConsumedAt = table.Column(type: "timestamp with time zone", nullable: true), + ResetTokenHash = table.Column(type: "character varying(512)", maxLength: 512, nullable: true), + ResetAttempts = table.Column(type: "integer", nullable: false), + SecurityVersion = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_Authentication", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "UAuth_PasswordCredentials", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + SecretHash = table.Column(type: "character varying(512)", maxLength: 512, nullable: false), + RevokedAt = table.Column(type: "timestamp with time zone", nullable: true), + ExpiresAt = table.Column(type: "timestamp with time zone", nullable: true), + SecurityStamp = table.Column(type: "uuid", nullable: false), + LastUsedAt = table.Column(type: "timestamp with time zone", nullable: true), + Source = table.Column(type: "character varying(128)", maxLength: 128, nullable: true), + CreatedAt = table.Column(type: "timestamp with time zone", nullable: false), + UpdatedAt = table.Column(type: "timestamp with time zone", nullable: true), + DeletedAt = table.Column(type: "timestamp with time zone", nullable: true), + Version = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_PasswordCredentials", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "UAuth_RefreshTokens", + columns: table => new + { + Id = table.Column(type: "bigint", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + TokenId = table.Column(type: "uuid", nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + TokenHash = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + SessionId = table.Column(type: "text", nullable: false), + ChainId = table.Column(type: "uuid", nullable: true), + ReplacedByTokenHash = table.Column(type: "character varying(128)", maxLength: 128, nullable: true), + CreatedAt = table.Column(type: "timestamp with time zone", nullable: false), + ExpiresAt = table.Column(type: "timestamp with time zone", nullable: false), + RevokedAt = table.Column(type: "timestamp with time zone", nullable: true), + Version = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_RefreshTokens", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "UAuth_RolePermissions", + columns: table => new + { + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + RoleId = table.Column(type: "uuid", nullable: false), + Permission = table.Column(type: "character varying(256)", maxLength: 256, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_RolePermissions", x => new { x.Tenant, x.RoleId, x.Permission }); + }); + + migrationBuilder.CreateTable( + name: "UAuth_Roles", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + Name = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + NormalizedName = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + CreatedAt = table.Column(type: "timestamp with time zone", nullable: false), + UpdatedAt = table.Column(type: "timestamp with time zone", nullable: true), + DeletedAt = table.Column(type: "timestamp with time zone", nullable: true), + Version = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_Roles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "UAuth_SessionRoots", + columns: table => new + { + Id = table.Column(type: "bigint", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + RootId = table.Column(type: "uuid", maxLength: 128, nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + CreatedAt = table.Column(type: "timestamp with time zone", nullable: false), + UpdatedAt = table.Column(type: "timestamp with time zone", nullable: true), + RevokedAt = table.Column(type: "timestamp with time zone", nullable: true), + SecurityVersion = table.Column(type: "bigint", nullable: false), + Version = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_SessionRoots", x => x.Id); + table.UniqueConstraint("AK_UAuth_SessionRoots_Tenant_RootId", x => new { x.Tenant, x.RootId }); + }); + + migrationBuilder.CreateTable( + name: "UAuth_UserIdentifiers", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + Type = table.Column(type: "integer", nullable: false), + Value = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), + NormalizedValue = table.Column(type: "character varying(256)", maxLength: 256, nullable: false), + IsPrimary = table.Column(type: "boolean", nullable: false), + CreatedAt = table.Column(type: "timestamp with time zone", nullable: false), + VerifiedAt = table.Column(type: "timestamp with time zone", nullable: true), + UpdatedAt = table.Column(type: "timestamp with time zone", nullable: true), + DeletedAt = table.Column(type: "timestamp with time zone", nullable: true), + Version = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_UserIdentifiers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "UAuth_UserLifecycles", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + Status = table.Column(type: "integer", nullable: false), + SecurityVersion = table.Column(type: "bigint", nullable: false), + CreatedAt = table.Column(type: "timestamp with time zone", nullable: false), + UpdatedAt = table.Column(type: "timestamp with time zone", nullable: true), + DeletedAt = table.Column(type: "timestamp with time zone", nullable: true), + Version = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_UserLifecycles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "UAuth_UserProfiles", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + ProfileKey = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), + FirstName = table.Column(type: "text", nullable: true), + LastName = table.Column(type: "text", nullable: true), + DisplayName = table.Column(type: "text", nullable: true), + BirthDate = table.Column(type: "date", nullable: true), + Gender = table.Column(type: "text", nullable: true), + Bio = table.Column(type: "text", nullable: true), + Language = table.Column(type: "text", nullable: true), + TimeZone = table.Column(type: "text", nullable: true), + Culture = table.Column(type: "text", nullable: true), + Metadata = table.Column(type: "text", nullable: true), + CreatedAt = table.Column(type: "timestamp with time zone", nullable: false), + UpdatedAt = table.Column(type: "timestamp with time zone", nullable: true), + DeletedAt = table.Column(type: "timestamp with time zone", nullable: true), + Version = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_UserProfiles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "UAuth_UserRoles", + columns: table => new + { + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + RoleId = table.Column(type: "uuid", nullable: false), + AssignedAt = table.Column(type: "timestamp with time zone", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_UserRoles", x => new { x.Tenant, x.UserKey, x.RoleId }); + }); + + migrationBuilder.CreateTable( + name: "UAuth_SessionChains", + columns: table => new + { + Id = table.Column(type: "bigint", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + ChainId = table.Column(type: "uuid", nullable: false), + RootId = table.Column(type: "uuid", nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + CreatedAt = table.Column(type: "timestamp with time zone", nullable: false), + LastSeenAt = table.Column(type: "timestamp with time zone", nullable: false), + AbsoluteExpiresAt = table.Column(type: "timestamp with time zone", nullable: true), + DeviceId = table.Column(type: "character varying(64)", maxLength: 64, nullable: false), + Device = table.Column(type: "text", nullable: false), + ClaimsSnapshot = table.Column(type: "text", nullable: false), + ActiveSessionId = table.Column(type: "text", nullable: true), + RotationCount = table.Column(type: "integer", nullable: false), + TouchCount = table.Column(type: "integer", nullable: false), + SecurityVersionAtCreation = table.Column(type: "bigint", nullable: false), + RevokedAt = table.Column(type: "timestamp with time zone", nullable: true), + Version = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_SessionChains", x => x.Id); + table.UniqueConstraint("AK_UAuth_SessionChains_Tenant_ChainId", x => new { x.Tenant, x.ChainId }); + table.ForeignKey( + name: "FK_UAuth_SessionChains_UAuth_SessionRoots_Tenant_RootId", + columns: x => new { x.Tenant, x.RootId }, + principalTable: "UAuth_SessionRoots", + principalColumns: new[] { "Tenant", "RootId" }, + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "UAuth_Sessions", + columns: table => new + { + Id = table.Column(type: "bigint", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + SessionId = table.Column(type: "text", nullable: false), + ChainId = table.Column(type: "uuid", nullable: false), + Tenant = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + UserKey = table.Column(type: "character varying(128)", maxLength: 128, nullable: false), + CreatedAt = table.Column(type: "timestamp with time zone", nullable: false), + ExpiresAt = table.Column(type: "timestamp with time zone", nullable: false), + RevokedAt = table.Column(type: "timestamp with time zone", nullable: true), + SecurityVersionAtCreation = table.Column(type: "bigint", nullable: false), + Device = table.Column(type: "text", nullable: false), + Claims = table.Column(type: "text", nullable: false), + Metadata = table.Column(type: "text", nullable: false), + Version = table.Column(type: "bigint", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UAuth_Sessions", x => x.Id); + table.ForeignKey( + name: "FK_UAuth_Sessions_UAuth_SessionChains_Tenant_ChainId", + columns: x => new { x.Tenant, x.ChainId }, + principalTable: "UAuth_SessionChains", + principalColumns: new[] { "Tenant", "ChainId" }, + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Authentication_Tenant_LockedUntil", + table: "UAuth_Authentication", + columns: new[] { "Tenant", "LockedUntil" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Authentication_Tenant_ResetRequestedAt", + table: "UAuth_Authentication", + columns: new[] { "Tenant", "ResetRequestedAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Authentication_Tenant_UserKey", + table: "UAuth_Authentication", + columns: new[] { "Tenant", "UserKey" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Authentication_Tenant_UserKey_Scope", + table: "UAuth_Authentication", + columns: new[] { "Tenant", "UserKey", "Scope" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Authentication_Tenant_UserKey_Scope_CredentialType", + table: "UAuth_Authentication", + columns: new[] { "Tenant", "UserKey", "Scope", "CredentialType" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_PasswordCredentials_Tenant_ExpiresAt", + table: "UAuth_PasswordCredentials", + columns: new[] { "Tenant", "ExpiresAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_PasswordCredentials_Tenant_Id", + table: "UAuth_PasswordCredentials", + columns: new[] { "Tenant", "Id" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_PasswordCredentials_Tenant_RevokedAt", + table: "UAuth_PasswordCredentials", + columns: new[] { "Tenant", "RevokedAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_PasswordCredentials_Tenant_UserKey", + table: "UAuth_PasswordCredentials", + columns: new[] { "Tenant", "UserKey" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_PasswordCredentials_Tenant_UserKey_DeletedAt", + table: "UAuth_PasswordCredentials", + columns: new[] { "Tenant", "UserKey", "DeletedAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RefreshTokens_Tenant_ChainId", + table: "UAuth_RefreshTokens", + columns: new[] { "Tenant", "ChainId" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RefreshTokens_Tenant_ExpiresAt", + table: "UAuth_RefreshTokens", + columns: new[] { "Tenant", "ExpiresAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RefreshTokens_Tenant_ExpiresAt_RevokedAt", + table: "UAuth_RefreshTokens", + columns: new[] { "Tenant", "ExpiresAt", "RevokedAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RefreshTokens_Tenant_ReplacedByTokenHash", + table: "UAuth_RefreshTokens", + columns: new[] { "Tenant", "ReplacedByTokenHash" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RefreshTokens_Tenant_SessionId", + table: "UAuth_RefreshTokens", + columns: new[] { "Tenant", "SessionId" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RefreshTokens_Tenant_TokenHash", + table: "UAuth_RefreshTokens", + columns: new[] { "Tenant", "TokenHash" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RefreshTokens_Tenant_TokenHash_RevokedAt", + table: "UAuth_RefreshTokens", + columns: new[] { "Tenant", "TokenHash", "RevokedAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RefreshTokens_Tenant_TokenId", + table: "UAuth_RefreshTokens", + columns: new[] { "Tenant", "TokenId" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RefreshTokens_Tenant_UserKey", + table: "UAuth_RefreshTokens", + columns: new[] { "Tenant", "UserKey" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RolePermissions_Tenant_Permission", + table: "UAuth_RolePermissions", + columns: new[] { "Tenant", "Permission" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_RolePermissions_Tenant_RoleId", + table: "UAuth_RolePermissions", + columns: new[] { "Tenant", "RoleId" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Roles_Tenant_Id", + table: "UAuth_Roles", + columns: new[] { "Tenant", "Id" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Roles_Tenant_NormalizedName", + table: "UAuth_Roles", + columns: new[] { "Tenant", "NormalizedName" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_SessionChains_Tenant_ChainId", + table: "UAuth_SessionChains", + columns: new[] { "Tenant", "ChainId" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_SessionChains_Tenant_RootId", + table: "UAuth_SessionChains", + columns: new[] { "Tenant", "RootId" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_SessionChains_Tenant_UserKey", + table: "UAuth_SessionChains", + columns: new[] { "Tenant", "UserKey" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_SessionChains_Tenant_UserKey_DeviceId", + table: "UAuth_SessionChains", + columns: new[] { "Tenant", "UserKey", "DeviceId" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_SessionRoots_Tenant_RootId", + table: "UAuth_SessionRoots", + columns: new[] { "Tenant", "RootId" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_SessionRoots_Tenant_UserKey", + table: "UAuth_SessionRoots", + columns: new[] { "Tenant", "UserKey" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_SessionRoots_Tenant_UserKey_RevokedAt", + table: "UAuth_SessionRoots", + columns: new[] { "Tenant", "UserKey", "RevokedAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Sessions_Tenant_ChainId", + table: "UAuth_Sessions", + columns: new[] { "Tenant", "ChainId" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Sessions_Tenant_ChainId_RevokedAt", + table: "UAuth_Sessions", + columns: new[] { "Tenant", "ChainId", "RevokedAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Sessions_Tenant_ExpiresAt", + table: "UAuth_Sessions", + columns: new[] { "Tenant", "ExpiresAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Sessions_Tenant_RevokedAt", + table: "UAuth_Sessions", + columns: new[] { "Tenant", "RevokedAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Sessions_Tenant_SessionId", + table: "UAuth_Sessions", + columns: new[] { "Tenant", "SessionId" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_Sessions_Tenant_UserKey_RevokedAt", + table: "UAuth_Sessions", + columns: new[] { "Tenant", "UserKey", "RevokedAt" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserIdentifiers_Tenant_NormalizedValue", + table: "UAuth_UserIdentifiers", + columns: new[] { "Tenant", "NormalizedValue" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserIdentifiers_Tenant_Type_NormalizedValue", + table: "UAuth_UserIdentifiers", + columns: new[] { "Tenant", "Type", "NormalizedValue" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserIdentifiers_Tenant_UserKey", + table: "UAuth_UserIdentifiers", + columns: new[] { "Tenant", "UserKey" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserIdentifiers_Tenant_UserKey_IsPrimary", + table: "UAuth_UserIdentifiers", + columns: new[] { "Tenant", "UserKey", "IsPrimary" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserIdentifiers_Tenant_UserKey_Type_IsPrimary_Deleted~", + table: "UAuth_UserIdentifiers", + columns: new[] { "Tenant", "UserKey", "Type", "IsPrimary", "DeletedAt", "CreatedAt", "Id" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserLifecycles_Tenant_DeletedAt_CreatedAt_Id", + table: "UAuth_UserLifecycles", + columns: new[] { "Tenant", "DeletedAt", "CreatedAt", "Id" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserLifecycles_Tenant_Status_DeletedAt_CreatedAt_Id", + table: "UAuth_UserLifecycles", + columns: new[] { "Tenant", "Status", "DeletedAt", "CreatedAt", "Id" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserLifecycles_Tenant_UserKey", + table: "UAuth_UserLifecycles", + columns: new[] { "Tenant", "UserKey" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserProfiles_Tenant_UserKey_ProfileKey", + table: "UAuth_UserProfiles", + columns: new[] { "Tenant", "UserKey", "ProfileKey" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserRoles_Tenant_RoleId", + table: "UAuth_UserRoles", + columns: new[] { "Tenant", "RoleId" }); + + migrationBuilder.CreateIndex( + name: "IX_UAuth_UserRoles_Tenant_UserKey", + table: "UAuth_UserRoles", + columns: new[] { "Tenant", "UserKey" }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "UAuth_Authentication"); + + migrationBuilder.DropTable( + name: "UAuth_PasswordCredentials"); + + migrationBuilder.DropTable( + name: "UAuth_RefreshTokens"); + + migrationBuilder.DropTable( + name: "UAuth_RolePermissions"); + + migrationBuilder.DropTable( + name: "UAuth_Roles"); + + migrationBuilder.DropTable( + name: "UAuth_Sessions"); + + migrationBuilder.DropTable( + name: "UAuth_UserIdentifiers"); + + migrationBuilder.DropTable( + name: "UAuth_UserLifecycles"); + + migrationBuilder.DropTable( + name: "UAuth_UserProfiles"); + + migrationBuilder.DropTable( + name: "UAuth_UserRoles"); + + migrationBuilder.DropTable( + name: "UAuth_SessionChains"); + + migrationBuilder.DropTable( + name: "UAuth_SessionRoots"); + } + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/UAuthDbContextModelSnapshot.cs b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/UAuthDbContextModelSnapshot.cs new file mode 100644 index 00000000..7b6b4d47 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Migrations/UAuthDbContextModelSnapshot.cs @@ -0,0 +1,731 @@ +// +using System; +using CodeBeam.UltimateAuth.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace CodeBeam.UltimateAuth.IdentityLab.Migrations +{ + [DbContext(typeof(UAuthDbContext))] + partial class UAuthDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "10.0.12") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Authentication.EntityFrameworkCore.AuthenticationSecurityStateProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CredentialType") + .HasColumnType("integer"); + + b.Property("FailedAttempts") + .HasColumnType("integer"); + + b.Property("LastFailedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("LockedUntil") + .HasColumnType("timestamp with time zone"); + + b.Property("RequiresReauthentication") + .HasColumnType("boolean"); + + b.Property("ResetAttempts") + .HasColumnType("integer"); + + b.Property("ResetConsumedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ResetExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ResetRequestedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ResetTokenHash") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("Scope") + .HasColumnType("integer"); + + b.Property("SecurityVersion") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "LockedUntil"); + + b.HasIndex("Tenant", "ResetRequestedAt"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "UserKey", "Scope"); + + b.HasIndex("Tenant", "UserKey", "Scope", "CredentialType") + .IsUnique(); + + b.ToTable("UAuth_Authentication", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Authorization.EntityFrameworkCore.RolePermissionProjection", b => + { + b.Property("Tenant") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("Permission") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Tenant", "RoleId", "Permission"); + + b.HasIndex("Tenant", "Permission"); + + b.HasIndex("Tenant", "RoleId"); + + b.ToTable("UAuth_RolePermissions", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Authorization.EntityFrameworkCore.RoleProjection", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "Id") + .IsUnique(); + + b.HasIndex("Tenant", "NormalizedName") + .IsUnique(); + + b.ToTable("UAuth_Roles", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Authorization.EntityFrameworkCore.UserRoleProjection", b => + { + b.Property("Tenant") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UserKey") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("AssignedAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Tenant", "UserKey", "RoleId"); + + b.HasIndex("Tenant", "RoleId"); + + b.HasIndex("Tenant", "UserKey"); + + b.ToTable("UAuth_UserRoles", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Credentials.EntityFrameworkCore.PasswordCredentialProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("LastUsedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("SecretHash") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("SecurityStamp") + .HasColumnType("uuid"); + + b.Property("Source") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "ExpiresAt"); + + b.HasIndex("Tenant", "Id") + .IsUnique(); + + b.HasIndex("Tenant", "RevokedAt"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "UserKey", "DeletedAt"); + + b.ToTable("UAuth_PasswordCredentials", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionChainProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AbsoluteExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ActiveSessionId") + .HasColumnType("text"); + + b.Property("ChainId") + .HasColumnType("uuid"); + + b.Property("ClaimsSnapshot") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Device") + .IsRequired() + .HasColumnType("text"); + + b.Property("DeviceId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("LastSeenAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RootId") + .HasColumnType("uuid"); + + b.Property("RotationCount") + .HasColumnType("integer"); + + b.Property("SecurityVersionAtCreation") + .HasColumnType("bigint"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("TouchCount") + .HasColumnType("integer"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "ChainId") + .IsUnique(); + + b.HasIndex("Tenant", "RootId"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "UserKey", "DeviceId"); + + b.ToTable("UAuth_SessionChains", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChainId") + .HasColumnType("uuid"); + + b.Property("Claims") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Device") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Metadata") + .IsRequired() + .HasColumnType("text"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("SecurityVersionAtCreation") + .HasColumnType("bigint"); + + b.Property("SessionId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "ChainId"); + + b.HasIndex("Tenant", "ExpiresAt"); + + b.HasIndex("Tenant", "RevokedAt"); + + b.HasIndex("Tenant", "SessionId") + .IsUnique(); + + b.HasIndex("Tenant", "ChainId", "RevokedAt"); + + b.HasIndex("Tenant", "UserKey", "RevokedAt"); + + b.ToTable("UAuth_Sessions", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionRootProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("RootId") + .HasMaxLength(128) + .HasColumnType("uuid"); + + b.Property("SecurityVersion") + .HasColumnType("bigint"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "RootId") + .IsUnique(); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "UserKey", "RevokedAt"); + + b.ToTable("UAuth_SessionRoots", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Tokens.EntityFrameworkCore.RefreshTokenProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChainId") + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ReplacedByTokenHash") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("RevokedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("SessionId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("TokenHash") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("TokenId") + .HasColumnType("uuid"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "ChainId"); + + b.HasIndex("Tenant", "ExpiresAt"); + + b.HasIndex("Tenant", "ReplacedByTokenHash"); + + b.HasIndex("Tenant", "SessionId"); + + b.HasIndex("Tenant", "TokenHash") + .IsUnique(); + + b.HasIndex("Tenant", "TokenId"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "ExpiresAt", "RevokedAt"); + + b.HasIndex("Tenant", "TokenHash", "RevokedAt"); + + b.ToTable("UAuth_RefreshTokens", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Users.EntityFrameworkCore.UserIdentifierProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("IsPrimary") + .HasColumnType("boolean"); + + b.Property("NormalizedValue") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Type") + .HasColumnType("integer"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("VerifiedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "NormalizedValue"); + + b.HasIndex("Tenant", "UserKey"); + + b.HasIndex("Tenant", "Type", "NormalizedValue") + .IsUnique(); + + b.HasIndex("Tenant", "UserKey", "IsPrimary"); + + b.HasIndex("Tenant", "UserKey", "Type", "IsPrimary", "DeletedAt", "CreatedAt", "Id"); + + b.ToTable("UAuth_UserIdentifiers", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Users.EntityFrameworkCore.UserLifecycleProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("SecurityVersion") + .HasColumnType("bigint"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "UserKey") + .IsUnique(); + + b.HasIndex("Tenant", "DeletedAt", "CreatedAt", "Id"); + + b.HasIndex("Tenant", "Status", "DeletedAt", "CreatedAt", "Id"); + + b.ToTable("UAuth_UserLifecycles", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Users.EntityFrameworkCore.UserProfileProjection", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Bio") + .HasColumnType("text"); + + b.Property("BirthDate") + .HasColumnType("date"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Culture") + .HasColumnType("text"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("DisplayName") + .HasColumnType("text"); + + b.Property("FirstName") + .HasColumnType("text"); + + b.Property("Gender") + .HasColumnType("text"); + + b.Property("Language") + .HasColumnType("text"); + + b.Property("LastName") + .HasColumnType("text"); + + b.Property("Metadata") + .HasColumnType("text"); + + b.Property("ProfileKey") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("Tenant") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("TimeZone") + .HasColumnType("text"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Version") + .IsConcurrencyToken() + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Tenant", "UserKey", "ProfileKey") + .IsUnique(); + + b.ToTable("UAuth_UserProfiles", (string)null); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionChainProjection", b => + { + b.HasOne("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionRootProjection", null) + .WithMany() + .HasForeignKey("Tenant", "RootId") + .HasPrincipalKey("Tenant", "RootId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + }); + + modelBuilder.Entity("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionProjection", b => + { + b.HasOne("CodeBeam.UltimateAuth.Sessions.EntityFrameworkCore.SessionChainProjection", null) + .WithMany() + .HasForeignKey("Tenant", "ChainId") + .HasPrincipalKey("Tenant", "ChainId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs new file mode 100644 index 00000000..587058db --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs @@ -0,0 +1,75 @@ +using CodeBeam.UltimateAuth.EntityFrameworkCore; +using CodeBeam.UltimateAuth.IdentityLab.Components; +using CodeBeam.UltimateAuth.Sample.Seed.Extensions; +using CodeBeam.UltimateAuth.Sample.Shared.Infrastructure; +using CodeBeam.UltimateAuth.Server.Extensions; +using CodeBeam.UltimateAuth.Client.Blazor.Extensions; +using MudBlazor.Services; +using MudExtensions.Services; +using CodeBeam.UltimateAuth.Core.Domain; +using Microsoft.EntityFrameworkCore; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. +builder.Services.AddRazorComponents() + .AddInteractiveServerComponents(); + +builder.Services.AddMudServices(o => { + o.SnackbarConfiguration.PreventDuplicates = false; +}); +builder.Services.AddMudExtensions(); +builder.Services.AddScoped(); + +var connectionString = builder.Configuration.GetConnectionString("IdentityLab") + ?? throw new InvalidOperationException("Connection string 'IdentityLab' is missing."); + +builder.Services.AddUltimateAuthServer(o => +{ + o.Diagnostics.EnableRefreshDetails = true; + //o.Session.MaxLifetime = TimeSpan.FromSeconds(32); + //o.Session.Lifetime = TimeSpan.FromSeconds(32); + //o.Session.TouchInterval = TimeSpan.FromSeconds(9); + //o.Session.IdleTimeout = TimeSpan.FromSeconds(15); + //o.Token.AccessTokenLifetime = TimeSpan.FromSeconds(30); + //o.Token.RefreshTokenLifetime = TimeSpan.FromSeconds(32); + o.Login.MaxFailedAttempts = 5; + o.Login.LockoutDuration = TimeSpan.FromMinutes(1); + o.Identifiers.Behavior.AllowMultipleUsernames = true; +}) + .AddUltimateAuthEntityFrameworkCore(db => + { + db.UseNpgsql("Host=localhost;Port=5433;Database=identitylab_dev;Username=identitylab;Password=LocalDevPassword123", + options => options.MigrationsAssembly(typeof(Program).Assembly.GetName().Name)); + }); + +builder.Services.AddUltimateAuthClientBlazor(o => +{ + //o.AutoRefresh.Interval = TimeSpan.FromSeconds(5); + o.Reauth.Behavior = ReauthBehavior.RaiseEvent; + //o.UAuthStateRefreshMode = UAuthStateRefreshMode.Validate; +}); + +builder.Services.AddScopedUltimateAuthSampleSeed(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (!app.Environment.IsDevelopment()) +{ + app.UseExceptionHandler("/Error", createScopeForErrors: true); + // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. + app.UseHsts(); +} +app.UseStatusCodePagesWithReExecute("/not-found", createScopeForStatusCodePages: true); +app.UseHttpsRedirection(); + +app.UseUltimateAuthWithAspNetCore(); +app.UseAntiforgery(); + +app.MapUltimateAuthEndpoints(); +app.MapStaticAssets(); +app.MapRazorComponents() + .AddInteractiveServerRenderMode(); + +app.Run(); diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Properties/launchSettings.json b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Properties/launchSettings.json new file mode 100644 index 00000000..2eee1b36 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Properties/launchSettings.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5281", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7154;http://localhost:5281", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } + } diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/appsettings.Development.json b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/appsettings.Development.json new file mode 100644 index 00000000..0c208ae9 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/appsettings.json b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/appsettings.json new file mode 100644 index 00000000..10f68b8c --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/app.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/app.css new file mode 100644 index 00000000..73a69d6f --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/app.css @@ -0,0 +1,60 @@ +html, body { + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +a, .btn-link { + color: #006bb7; +} + +.btn-primary { + color: #fff; + background-color: #1b6ec2; + border-color: #1861ac; +} + +.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { + box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; +} + +.content { + padding-top: 1.1rem; +} + +h1:focus { + outline: none; +} + +.valid.modified:not([type=checkbox]) { + outline: 1px solid #26b050; +} + +.invalid { + outline: 1px solid #e50000; +} + +.validation-message { + color: #e50000; +} + +.blazor-error-boundary { + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121; + padding: 1rem 1rem 1rem 3.7rem; + color: white; +} + + .blazor-error-boundary::after { + content: "An error has occurred." + } + +.darker-border-checkbox.form-check-input { + border-color: #929292; +} + +.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder { + color: var(--bs-secondary-color); + text-align: end; +} + +.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder { + text-align: start; +} \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/favicon.png b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8422b59695935d180d11d5dbe99653e711097819 GIT binary patch literal 1148 zcmV-?1cUpDP)9h26h2-Cs%i*@Moc3?#6qJID|D#|3|2Hn7gTIYEkr|%Xjp);YgvFmB&0#2E2b=| zkVr)lMv9=KqwN&%obTp-$<51T%rx*NCwceh-E+=&e(oLO`@Z~7gybJ#U|^tB2Pai} zRN@5%1qsZ1e@R(XC8n~)nU1S0QdzEYlWPdUpH{wJ2Pd4V8kI3BM=)sG^IkUXF2-j{ zrPTYA6sxpQ`Q1c6mtar~gG~#;lt=s^6_OccmRd>o{*=>)KS=lM zZ!)iG|8G0-9s3VLm`bsa6e ze*TlRxAjXtm^F8V`M1%s5d@tYS>&+_ga#xKGb|!oUBx3uc@mj1%=MaH4GR0tPBG_& z9OZE;->dO@`Q)nr<%dHAsEZRKl zedN6+3+uGHejJp;Q==pskSAcRcyh@6mjm2z-uG;s%dM-u0*u##7OxI7wwyCGpS?4U zBFAr(%GBv5j$jS@@t@iI8?ZqE36I^4t+P^J9D^ELbS5KMtZ z{Qn#JnSd$15nJ$ggkF%I4yUQC+BjDF^}AtB7w348EL>7#sAsLWs}ndp8^DsAcOIL9 zTOO!!0!k2`9BLk25)NeZp7ev>I1Mn={cWI3Yhx2Q#DnAo4IphoV~R^c0x&nw*MoIV zPthX?{6{u}sMS(MxD*dmd5rU(YazQE59b|TsB5Tm)I4a!VaN@HYOR)DwH1U5y(E)z zQqQU*B%MwtRQ$%x&;1p%ANmc|PkoFJZ%<-uq%PX&C!c-7ypis=eP+FCeuv+B@h#{4 zGx1m0PjS~FJt}3mdt4c!lel`1;4W|03kcZRG+DzkTy|7-F~eDsV2Tx!73dM0H0CTh zl)F-YUkE1zEzEW(;JXc|KR5{ox%YTh{$%F$a36JP6Nb<0%#NbSh$dMYF-{ z1_x(Vx)}fs?5_|!5xBTWiiIQHG<%)*e=45Fhjw_tlnmlixq;mUdC$R8v#j( zhQ$9YR-o%i5Uc`S?6EC51!bTRK=Xkyb<18FkCKnS2;o*qlij1YA@-nRpq#OMTX&RbL<^2q@0qja!uIvI;j$6>~k@IMwD42=8$$!+R^@5o6HX(*n~ * { + box-sizing: border-box; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} + +.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.66666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 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; + } +} +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.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; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .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; + } +} +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .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; + } +} +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .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; + } +} +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .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; + } +} +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .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; + } +} +@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-inline-grid { + display: inline-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; + } +} + +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map new file mode 100644 index 00000000..ce99ec19 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,2BAAA;ALsjDZ;;AK7jDQ;EAOI,iCAAA;AL0jDZ;;AKjkDQ;EAOI,gCAAA;AL8jDZ;;AKrkDQ;EAOI,8BAAA;ALkkDZ;;AKzkDQ;EAOI,gCAAA;ALskDZ;;AK7kDQ;EAOI,8BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,0BAAA;ALsmDZ;;AK7mDQ;EAOI,gCAAA;AL0mDZ;;AKjnDQ;EAOI,+BAAA;AL8mDZ;;AKrnDQ;EAOI,6BAAA;ALknDZ;;AKznDQ;EAOI,+BAAA;ALsnDZ;;AK7nDQ;EAOI,6BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,0BAAA;IAAA,yBAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;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AAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,0BAAA;ELw9FV;EK/9FM;IAOI,gCAAA;EL29FV;EKl+FM;IAOI,+BAAA;EL89FV;EKr+FM;IAOI,6BAAA;ELi+FV;EKx+FM;IAOI,+BAAA;ELo+FV;EK3+FM;IAOI,6BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/lGM;IAOI,uCAAA;EL2lGV;EKlmGM;IAOI,sCAAA;EL8lGV;EKrmGM;IAOI,iCAAA;ELimGV;EKxmGM;IAOI,2BAAA;ELomGV;EK3mGM;IAOI,iCAAA;ELumGV;EK9mGM;IAOI,+BAAA;EL0mGV;EKjnGM;IAOI,6BAAA;EL6mGV;EKpnGM;IAOI,+BAAA;ELgnGV;EKvnGM;IAOI,8BAAA;ELmnGV;EK1nGM;IAOI,oBAAA;ELsnGV;EK7nGM;IAOI,mBAAA;ELynGV;EKhoGM;IAOI,mBAAA;EL4nGV;EKnoGM;IAOI,mBAAA;EL+nGV;EKtoGM;IAOI,mBAAA;ELkoGV;EKzoGM;IAOI,mBAAA;ELqoGV;EK5oGM;IAOI,mBAAA;ELwoGV;EK/oGM;IAOI,mBAAA;EL2oGV;EKlpGM;IAOI,oBAAA;EL8oGV;EKrpGM;IAOI,0BAAA;ELipGV;EKxpGM;IAOI,yBAAA;ELopGV;EK3pGM;IAOI,uBAAA;ELupGV;EK9pGM;IAOI,yBAAA;EL0pGV;EKjqGM;IAOI,uBAAA;EL6pGV;EKpqGM;IAOI,uBAAA;ELgqGV;EKvqGM;IAOI,0BAAA;IAAA,yBAAA;ELoqGV;EK3qGM;IAOI,gCAAA;IAAA,+BAAA;ELwqGV;EK/qGM;IAOI,+BAAA;IAAA,8BAAA;EL4qGV;EKnrGM;IAOI,6BAAA;IAAA,4BAAA;ELgrGV;EKvrGM;IAOI,+BAAA;IAAA,8BAAA;ELorGV;EK3rGM;IAOI,6BAAA;IAAA,4BAAA;ELwrGV;EK/rGM;IAOI,6BAAA;IAAA,4BAAA;EL4rGV;EKnsGM;IAOI,wBAAA;IAAA,2BAAA;ELgsGV;EKvsGM;IAOI,8BAAA;IAAA,iCAAA;ELosGV;EK3sGM;IAOI,6BAAA;IAAA,gCAAA;ELwsGV;EK/sGM;IAOI,2BAAA;IAAA,8BAAA;EL4sGV;EKntGM;IAOI,6BAAA;IAAA,gCAAA;ELgtGV;EKvtGM;IAOI,2BAAA;IAAA,8BAAA;ELotGV;EK3tGM;IAOI,2BAAA;IAAA,8BAAA;ELwtGV;EK/tGM;IAOI,wBAAA;EL2tGV;EKluGM;IAOI,8BAAA;EL8tGV;EKruGM;IAOI,6BAAA;ELiuGV;EKxuGM;IAOI,2BAAA;ELouGV;EK3uGM;IAOI,6BAAA;ELuuGV;EK9uGM;IAOI,2BAAA;EL0uGV;EKjvGM;IAOI,2BAAA;EL6uGV;EKpvGM;IAOI,0BAAA;ELgvGV;EKvvGM;IAOI,gCAAA;ELmvGV;EK1vGM;IAOI,+BAAA;ELsvGV;EK7vGM;IAOI,6BAAA;ELyvGV;EKhwGM;IAOI,+BAAA;EL4vGV;EKnwGM;IAOI,6BAAA;EL+vGV;EKtwGM;IAOI,6BAAA;ELkwGV;EKzwGM;IAOI,2BAAA;ELqwGV;EK5wGM;IAOI,iCAAA;ELwwGV;EK/wGM;IAOI,gCAAA;EL2wGV;EKlxGM;IAOI,8BAAA;EL8wGV;EKrxGM;IAOI,gCAAA;ELixGV;EKxxGM;IAOI,8BAAA;ELoxGV;EK3xGM;IAOI,8BAAA;ELuxGV;EK9xGM;IAOI,yBAAA;EL0xGV;EKjyGM;IAOI,+BAAA;EL6xGV;EKpyGM;IAOI,8BAAA;ELgyGV;EKvyGM;IAOI,4BAAA;ELmyGV;EK1yGM;IAOI,8BAAA;ELsyGV;EK7yGM;IAOI,4BAAA;ELyyGV;EKhzGM;IAOI,4BAAA;EL4yGV;EKnzGM;IAOI,qBAAA;EL+yGV;EKtzGM;IAOI,2BAAA;ELkzGV;EKzzGM;IAOI,0BAAA;ELqzGV;EK5zGM;IAOI,wBAAA;ELwzGV;EK/zGM;IAOI,0BAAA;EL2zGV;EKl0GM;IAOI,wBAAA;EL8zGV;EKr0GM;IAOI,2BAAA;IAAA,0BAAA;ELk0GV;EKz0GM;IAOI,iCAAA;IAAA,gCAAA;ELs0GV;EK70GM;IAOI,gCAAA;IAAA,+BAAA;EL00GV;EKj1GM;IAOI,8BAAA;IAAA,6BAAA;EL80GV;EKr1GM;IAOI,gCAAA;IAAA,+BAAA;ELk1GV;EKz1GM;IAOI,8BAAA;IAAA,6BAAA;ELs1GV;EK71GM;IAOI,yBAAA;IAAA,4BAAA;EL01GV;EKj2GM;IAOI,+BAAA;IAAA,kCAAA;EL81GV;EKr2GM;IAOI,8BAAA;IAAA,iCAAA;ELk2GV;EKz2GM;IAOI,4BAAA;IAAA,+BAAA;ELs2GV;EK72GM;IAOI,8BAAA;IAAA,iCAAA;EL02GV;EKj3GM;IAOI,4BAAA;IAAA,+BAAA;EL82GV;EKr3GM;IAOI,yBAAA;ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,2BAAA;ELm4GV;EK14GM;IAOI,iCAAA;ELs4GV;EK74GM;IAOI,gCAAA;ELy4GV;EKh5GM;IAOI,8BAAA;EL44GV;EKn5GM;IAOI,gCAAA;EL+4GV;EKt5GM;IAOI,8BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,0BAAA;ELu6GV;EK96GM;IAOI,gCAAA;EL06GV;EKj7GM;IAOI,+BAAA;EL66GV;EKp7GM;IAOI,6BAAA;ELg7GV;EKv7GM;IAOI,+BAAA;ELm7GV;EK17GM;IAOI,6BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\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","// 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","/*!\n * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\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","// 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// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\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$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\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 `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !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// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\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$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-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\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 focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\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-medium: 500 !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: inherit !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// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\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: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\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-color: $body-color !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}emphasis-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !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(var(--#{$prefix}emphasis-color-rgb), $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(var(--#{$prefix}emphasis-color-rgb), $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(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor: .2 !default;\n$table-border-width: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !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: var(--#{$prefix}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-color: var(--#{$prefix}body-color) !default;\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$btn-link-focus-shadow-rgb: to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\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: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !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: $focus-ring-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,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !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,\") !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,\") !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,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}tertiary-bg) !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: $input-disabled-bg !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,\") !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: var(--#{$prefix}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: var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !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-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !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,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\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// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\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: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !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(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !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-icon-color: $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !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: var(--#{$prefix}tertiary-color) !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: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !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: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}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-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}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(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !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: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}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: var(--#{$prefix}body-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: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !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,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}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: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !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: var(--#{$prefix}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(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !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: var(--#{$prefix}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: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}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: var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up: var(--#{$prefix}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: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !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// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\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: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}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: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !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: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !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: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !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,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// 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,\") !default;\n$btn-close-focus-shadow: $focus-ring-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: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-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\n@import \"variables-dark\"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\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","// 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: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // 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 an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// 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","// 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"]} \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css new file mode 100644 index 00000000..49b843b1 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Grid v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */.container,.container-fluid,.container-lg,.container-md,.container-sm,.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-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x: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>*{box-sizing:border-box;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.33333333%}.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.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: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}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.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:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.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:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.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:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.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:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.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:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.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:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!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-inline-grid{display:inline-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}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map new file mode 100644 index 00000000..a0db8b57 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\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","/*!\n * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// 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","// 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","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\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","// 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: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // 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 an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// 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","// 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"]} \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css new file mode 100644 index 00000000..1a5d6563 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css @@ -0,0 +1,4084 @@ +/*! + * Bootstrap Grid v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-left: auto; + margin-right: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + box-sizing: border-box; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} + +.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.66666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-right: 8.33333333%; +} + +.offset-2 { + margin-right: 16.66666667%; +} + +.offset-3 { + margin-right: 25%; +} + +.offset-4 { + margin-right: 33.33333333%; +} + +.offset-5 { + margin-right: 41.66666667%; +} + +.offset-6 { + margin-right: 50%; +} + +.offset-7 { + margin-right: 58.33333333%; +} + +.offset-8 { + margin-right: 66.66666667%; +} + +.offset-9 { + margin-right: 75%; +} + +.offset-10 { + margin-right: 83.33333333%; +} + +.offset-11 { + margin-right: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-right: 0; + } + .offset-sm-1 { + margin-right: 8.33333333%; + } + .offset-sm-2 { + margin-right: 16.66666667%; + } + .offset-sm-3 { + margin-right: 25%; + } + .offset-sm-4 { + margin-right: 33.33333333%; + } + .offset-sm-5 { + margin-right: 41.66666667%; + } + .offset-sm-6 { + margin-right: 50%; + } + .offset-sm-7 { + margin-right: 58.33333333%; + } + .offset-sm-8 { + margin-right: 66.66666667%; + } + .offset-sm-9 { + margin-right: 75%; + } + .offset-sm-10 { + margin-right: 83.33333333%; + } + .offset-sm-11 { + margin-right: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-right: 0; + } + .offset-md-1 { + margin-right: 8.33333333%; + } + .offset-md-2 { + margin-right: 16.66666667%; + } + .offset-md-3 { + margin-right: 25%; + } + .offset-md-4 { + margin-right: 33.33333333%; + } + .offset-md-5 { + margin-right: 41.66666667%; + } + .offset-md-6 { + margin-right: 50%; + } + .offset-md-7 { + margin-right: 58.33333333%; + } + .offset-md-8 { + margin-right: 66.66666667%; + } + .offset-md-9 { + margin-right: 75%; + } + .offset-md-10 { + margin-right: 83.33333333%; + } + .offset-md-11 { + margin-right: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-right: 0; + } + .offset-lg-1 { + margin-right: 8.33333333%; + } + .offset-lg-2 { + margin-right: 16.66666667%; + } + .offset-lg-3 { + margin-right: 25%; + } + .offset-lg-4 { + margin-right: 33.33333333%; + } + .offset-lg-5 { + margin-right: 41.66666667%; + } + .offset-lg-6 { + margin-right: 50%; + } + .offset-lg-7 { + margin-right: 58.33333333%; + } + .offset-lg-8 { + margin-right: 66.66666667%; + } + .offset-lg-9 { + margin-right: 75%; + } + .offset-lg-10 { + margin-right: 83.33333333%; + } + .offset-lg-11 { + margin-right: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-right: 0; + } + .offset-xl-1 { + margin-right: 8.33333333%; + } + .offset-xl-2 { + margin-right: 16.66666667%; + } + .offset-xl-3 { + margin-right: 25%; + } + .offset-xl-4 { + margin-right: 33.33333333%; + } + .offset-xl-5 { + margin-right: 41.66666667%; + } + .offset-xl-6 { + margin-right: 50%; + } + .offset-xl-7 { + margin-right: 58.33333333%; + } + .offset-xl-8 { + margin-right: 66.66666667%; + } + .offset-xl-9 { + margin-right: 75%; + } + .offset-xl-10 { + margin-right: 83.33333333%; + } + .offset-xl-11 { + margin-right: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 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.33333333%; + } + .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.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-right: 0; + } + .offset-xxl-1 { + margin-right: 8.33333333%; + } + .offset-xxl-2 { + margin-right: 16.66666667%; + } + .offset-xxl-3 { + margin-right: 25%; + } + .offset-xxl-4 { + margin-right: 33.33333333%; + } + .offset-xxl-5 { + margin-right: 41.66666667%; + } + .offset-xxl-6 { + margin-right: 50%; + } + .offset-xxl-7 { + margin-right: 58.33333333%; + } + .offset-xxl-8 { + margin-right: 66.66666667%; + } + .offset-xxl-9 { + margin-right: 75%; + } + .offset-xxl-10 { + margin-right: 83.33333333%; + } + .offset-xxl-11 { + margin-right: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 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; + } +} +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.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-left: 0 !important; + margin-right: 0 !important; +} + +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} + +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} + +.mx-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} + +.mx-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} + +.mx-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} + +.mx-auto { + margin-left: auto !important; + margin-right: 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-left: 0 !important; +} + +.me-1 { + margin-left: 0.25rem !important; +} + +.me-2 { + margin-left: 0.5rem !important; +} + +.me-3 { + margin-left: 1rem !important; +} + +.me-4 { + margin-left: 1.5rem !important; +} + +.me-5 { + margin-left: 3rem !important; +} + +.me-auto { + margin-left: 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-right: 0 !important; +} + +.ms-1 { + margin-right: 0.25rem !important; +} + +.ms-2 { + margin-right: 0.5rem !important; +} + +.ms-3 { + margin-right: 1rem !important; +} + +.ms-4 { + margin-right: 1.5rem !important; +} + +.ms-5 { + margin-right: 3rem !important; +} + +.ms-auto { + margin-right: 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-left: 0 !important; + padding-right: 0 !important; +} + +.px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} + +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} + +.px-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} + +.px-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} + +.px-5 { + padding-left: 3rem !important; + padding-right: 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-left: 0 !important; +} + +.pe-1 { + padding-left: 0.25rem !important; +} + +.pe-2 { + padding-left: 0.5rem !important; +} + +.pe-3 { + padding-left: 1rem !important; +} + +.pe-4 { + padding-left: 1.5rem !important; +} + +.pe-5 { + padding-left: 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-right: 0 !important; +} + +.ps-1 { + padding-right: 0.25rem !important; +} + +.ps-2 { + padding-right: 0.5rem !important; +} + +.ps-3 { + padding-right: 1rem !important; +} + +.ps-4 { + padding-right: 1.5rem !important; +} + +.ps-5 { + padding-right: 3rem !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .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-left: 0 !important; + margin-right: 0 !important; + } + .mx-sm-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-sm-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-sm-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-sm-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-sm-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-sm-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-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-left: 0 !important; + } + .me-sm-1 { + margin-left: 0.25rem !important; + } + .me-sm-2 { + margin-left: 0.5rem !important; + } + .me-sm-3 { + margin-left: 1rem !important; + } + .me-sm-4 { + margin-left: 1.5rem !important; + } + .me-sm-5 { + margin-left: 3rem !important; + } + .me-sm-auto { + margin-left: 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-right: 0 !important; + } + .ms-sm-1 { + margin-right: 0.25rem !important; + } + .ms-sm-2 { + margin-right: 0.5rem !important; + } + .ms-sm-3 { + margin-right: 1rem !important; + } + .ms-sm-4 { + margin-right: 1.5rem !important; + } + .ms-sm-5 { + margin-right: 3rem !important; + } + .ms-sm-auto { + margin-right: 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-left: 0 !important; + padding-right: 0 !important; + } + .px-sm-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-sm-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-sm-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-sm-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-sm-5 { + padding-left: 3rem !important; + padding-right: 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-left: 0 !important; + } + .pe-sm-1 { + padding-left: 0.25rem !important; + } + .pe-sm-2 { + padding-left: 0.5rem !important; + } + .pe-sm-3 { + padding-left: 1rem !important; + } + .pe-sm-4 { + padding-left: 1.5rem !important; + } + .pe-sm-5 { + padding-left: 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-right: 0 !important; + } + .ps-sm-1 { + padding-right: 0.25rem !important; + } + .ps-sm-2 { + padding-right: 0.5rem !important; + } + .ps-sm-3 { + padding-right: 1rem !important; + } + .ps-sm-4 { + padding-right: 1.5rem !important; + } + .ps-sm-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .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-left: 0 !important; + margin-right: 0 !important; + } + .mx-md-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-md-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-md-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-md-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-md-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-md-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-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-left: 0 !important; + } + .me-md-1 { + margin-left: 0.25rem !important; + } + .me-md-2 { + margin-left: 0.5rem !important; + } + .me-md-3 { + margin-left: 1rem !important; + } + .me-md-4 { + margin-left: 1.5rem !important; + } + .me-md-5 { + margin-left: 3rem !important; + } + .me-md-auto { + margin-left: 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-right: 0 !important; + } + .ms-md-1 { + margin-right: 0.25rem !important; + } + .ms-md-2 { + margin-right: 0.5rem !important; + } + .ms-md-3 { + margin-right: 1rem !important; + } + .ms-md-4 { + margin-right: 1.5rem !important; + } + .ms-md-5 { + margin-right: 3rem !important; + } + .ms-md-auto { + margin-right: 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-left: 0 !important; + padding-right: 0 !important; + } + .px-md-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-md-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-md-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-md-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-md-5 { + padding-left: 3rem !important; + padding-right: 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-left: 0 !important; + } + .pe-md-1 { + padding-left: 0.25rem !important; + } + .pe-md-2 { + padding-left: 0.5rem !important; + } + .pe-md-3 { + padding-left: 1rem !important; + } + .pe-md-4 { + padding-left: 1.5rem !important; + } + .pe-md-5 { + padding-left: 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-right: 0 !important; + } + .ps-md-1 { + padding-right: 0.25rem !important; + } + .ps-md-2 { + padding-right: 0.5rem !important; + } + .ps-md-3 { + padding-right: 1rem !important; + } + .ps-md-4 { + padding-right: 1.5rem !important; + } + .ps-md-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .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-left: 0 !important; + margin-right: 0 !important; + } + .mx-lg-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-lg-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-lg-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-lg-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-lg-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-lg-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-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-left: 0 !important; + } + .me-lg-1 { + margin-left: 0.25rem !important; + } + .me-lg-2 { + margin-left: 0.5rem !important; + } + .me-lg-3 { + margin-left: 1rem !important; + } + .me-lg-4 { + margin-left: 1.5rem !important; + } + .me-lg-5 { + margin-left: 3rem !important; + } + .me-lg-auto { + margin-left: 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-right: 0 !important; + } + .ms-lg-1 { + margin-right: 0.25rem !important; + } + .ms-lg-2 { + margin-right: 0.5rem !important; + } + .ms-lg-3 { + margin-right: 1rem !important; + } + .ms-lg-4 { + margin-right: 1.5rem !important; + } + .ms-lg-5 { + margin-right: 3rem !important; + } + .ms-lg-auto { + margin-right: 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-left: 0 !important; + padding-right: 0 !important; + } + .px-lg-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-lg-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-lg-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-lg-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-lg-5 { + padding-left: 3rem !important; + padding-right: 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-left: 0 !important; + } + .pe-lg-1 { + padding-left: 0.25rem !important; + } + .pe-lg-2 { + padding-left: 0.5rem !important; + } + .pe-lg-3 { + padding-left: 1rem !important; + } + .pe-lg-4 { + padding-left: 1.5rem !important; + } + .pe-lg-5 { + padding-left: 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-right: 0 !important; + } + .ps-lg-1 { + padding-right: 0.25rem !important; + } + .ps-lg-2 { + padding-right: 0.5rem !important; + } + .ps-lg-3 { + padding-right: 1rem !important; + } + .ps-lg-4 { + padding-right: 1.5rem !important; + } + .ps-lg-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .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-left: 0 !important; + margin-right: 0 !important; + } + .mx-xl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-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-left: 0 !important; + } + .me-xl-1 { + margin-left: 0.25rem !important; + } + .me-xl-2 { + margin-left: 0.5rem !important; + } + .me-xl-3 { + margin-left: 1rem !important; + } + .me-xl-4 { + margin-left: 1.5rem !important; + } + .me-xl-5 { + margin-left: 3rem !important; + } + .me-xl-auto { + margin-left: 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-right: 0 !important; + } + .ms-xl-1 { + margin-right: 0.25rem !important; + } + .ms-xl-2 { + margin-right: 0.5rem !important; + } + .ms-xl-3 { + margin-right: 1rem !important; + } + .ms-xl-4 { + margin-right: 1.5rem !important; + } + .ms-xl-5 { + margin-right: 3rem !important; + } + .ms-xl-auto { + margin-right: 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-left: 0 !important; + padding-right: 0 !important; + } + .px-xl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xl-5 { + padding-left: 3rem !important; + padding-right: 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-left: 0 !important; + } + .pe-xl-1 { + padding-left: 0.25rem !important; + } + .pe-xl-2 { + padding-left: 0.5rem !important; + } + .pe-xl-3 { + padding-left: 1rem !important; + } + .pe-xl-4 { + padding-left: 1.5rem !important; + } + .pe-xl-5 { + padding-left: 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-right: 0 !important; + } + .ps-xl-1 { + padding-right: 0.25rem !important; + } + .ps-xl-2 { + padding-right: 0.5rem !important; + } + .ps-xl-3 { + padding-right: 1rem !important; + } + .ps-xl-4 { + padding-right: 1.5rem !important; + } + .ps-xl-5 { + padding-right: 3rem !important; + } +} +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .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-left: 0 !important; + margin-right: 0 !important; + } + .mx-xxl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xxl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xxl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xxl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xxl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xxl-auto { + margin-left: auto !important; + margin-right: 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-left: 0 !important; + } + .me-xxl-1 { + margin-left: 0.25rem !important; + } + .me-xxl-2 { + margin-left: 0.5rem !important; + } + .me-xxl-3 { + margin-left: 1rem !important; + } + .me-xxl-4 { + margin-left: 1.5rem !important; + } + .me-xxl-5 { + margin-left: 3rem !important; + } + .me-xxl-auto { + margin-left: 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-right: 0 !important; + } + .ms-xxl-1 { + margin-right: 0.25rem !important; + } + .ms-xxl-2 { + margin-right: 0.5rem !important; + } + .ms-xxl-3 { + margin-right: 1rem !important; + } + .ms-xxl-4 { + margin-right: 1.5rem !important; + } + .ms-xxl-5 { + margin-right: 3rem !important; + } + .ms-xxl-auto { + margin-right: 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-left: 0 !important; + padding-right: 0 !important; + } + .px-xxl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xxl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xxl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xxl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xxl-5 { + padding-left: 3rem !important; + padding-right: 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-left: 0 !important; + } + .pe-xxl-1 { + padding-left: 0.25rem !important; + } + .pe-xxl-2 { + padding-left: 0.5rem !important; + } + .pe-xxl-3 { + padding-left: 1rem !important; + } + .pe-xxl-4 { + padding-left: 1.5rem !important; + } + .pe-xxl-5 { + padding-left: 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-right: 0 !important; + } + .ps-xxl-1 { + padding-right: 0.25rem !important; + } + .ps-xxl-2 { + padding-right: 0.5rem !important; + } + .ps-xxl-3 { + padding-right: 1rem !important; + } + .ps-xxl-4 { + padding-right: 1.5rem !important; + } + .ps-xxl-5 { + padding-right: 3rem !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-inline-grid { + display: inline-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; + } +} +/*# sourceMappingURL=bootstrap-grid.rtl.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map new file mode 100644 index 00000000..8df43cfc --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,0BAAA;ALsjDZ;;AK7jDQ;EAOI,gCAAA;AL0jDZ;;AKjkDQ;EAOI,+BAAA;AL8jDZ;;AKrkDQ;EAOI,6BAAA;ALkkDZ;;AKzkDQ;EAOI,+BAAA;ALskDZ;;AK7kDQ;EAOI,6BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,2BAAA;ALsmDZ;;AK7mDQ;EAOI,iCAAA;AL0mDZ;;AKjnDQ;EAOI,gCAAA;AL8mDZ;;AKrnDQ;EAOI,8BAAA;ALknDZ;;AKznDQ;EAOI,gCAAA;ALsnDZ;;AK7nDQ;EAOI,8BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,yBAAA;IAAA,0BAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;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AAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,2BAAA;ELw9FV;EK/9FM;IAOI,iCAAA;EL29FV;EKl+FM;IAOI,gCAAA;EL89FV;EKr+FM;IAOI,8BAAA;ELi+FV;EKx+FM;IAOI,gCAAA;ELo+FV;EK3+FM;IAOI,8BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/l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ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,0BAAA;ELm4GV;EK14GM;IAOI,gCAAA;ELs4GV;EK74GM;IAOI,+BAAA;ELy4GV;EKh5GM;IAOI,6BAAA;EL44GV;EKn5GM;IAOI,+BAAA;EL+4GV;EKt5GM;IAOI,6BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,2BAAA;ELu6GV;EK96GM;IAOI,iCAAA;EL06GV;EKj7GM;IAOI,gCAAA;EL66GV;EKp7GM;IAOI,8BAAA;ELg7GV;EKv7GM;IAOI,gCAAA;ELm7GV;EK17GM;IAOI,8BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.rtl.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\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","// 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","/*!\n * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\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","// 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// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\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$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\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 `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !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// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\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$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-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\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 focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\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-medium: 500 !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: inherit !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// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\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: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\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-color: $body-color !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}emphasis-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !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(var(--#{$prefix}emphasis-color-rgb), $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(var(--#{$prefix}emphasis-color-rgb), $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(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor: .2 !default;\n$table-border-width: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !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: var(--#{$prefix}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-color: var(--#{$prefix}body-color) !default;\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$btn-link-focus-shadow-rgb: to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\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: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !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: $focus-ring-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,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !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,\") !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,\") !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,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}tertiary-bg) !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: $input-disabled-bg !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,\") !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: var(--#{$prefix}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: var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !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-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !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,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\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// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\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: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !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(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !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-icon-color: $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !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: var(--#{$prefix}tertiary-color) !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: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !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: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}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-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}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(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !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: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}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: var(--#{$prefix}body-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: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !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,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}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: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !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: var(--#{$prefix}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(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !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: var(--#{$prefix}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: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}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: var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up: var(--#{$prefix}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: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !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// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\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: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}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: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !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: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !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: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !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,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// 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,\") !default;\n$btn-close-focus-shadow: $focus-ring-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: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-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\n@import \"variables-dark\"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\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","// 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: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // 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 an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// 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","// 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"]} \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css new file mode 100644 index 00000000..672cbc2e --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Grid v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-left:calc(-.5 * var(--bs-gutter-x));margin-right:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.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.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: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}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.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:.25rem!important}.m-2{margin:.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-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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-left:0!important}.me-1{margin-left:.25rem!important}.me-2{margin-left:.5rem!important}.me-3{margin-left:1rem!important}.me-4{margin-left:1.5rem!important}.me-5{margin-left:3rem!important}.me-auto{margin-left:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.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-right:0!important}.ms-1{margin-right:.25rem!important}.ms-2{margin-right:.5rem!important}.ms-3{margin-right:1rem!important}.ms-4{margin-right:1.5rem!important}.ms-5{margin-right:3rem!important}.ms-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-left:0!important}.pe-1{padding-left:.25rem!important}.pe-2{padding-left:.5rem!important}.pe-3{padding-left:1rem!important}.pe-4{padding-left:1.5rem!important}.pe-5{padding-left:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-right:0!important}.ps-1{padding-right:.25rem!important}.ps-2{padding-right:.5rem!important}.ps-3{padding-right:1rem!important}.ps-4{padding-right:1.5rem!important}.ps-5{padding-right:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.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:.25rem!important}.m-sm-2{margin:.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-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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-left:0!important}.me-sm-1{margin-left:.25rem!important}.me-sm-2{margin-left:.5rem!important}.me-sm-3{margin-left:1rem!important}.me-sm-4{margin-left:1.5rem!important}.me-sm-5{margin-left:3rem!important}.me-sm-auto{margin-left:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.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-right:0!important}.ms-sm-1{margin-right:.25rem!important}.ms-sm-2{margin-right:.5rem!important}.ms-sm-3{margin-right:1rem!important}.ms-sm-4{margin-right:1.5rem!important}.ms-sm-5{margin-right:3rem!important}.ms-sm-auto{margin-right:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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-left:0!important}.pe-sm-1{padding-left:.25rem!important}.pe-sm-2{padding-left:.5rem!important}.pe-sm-3{padding-left:1rem!important}.pe-sm-4{padding-left:1.5rem!important}.pe-sm-5{padding-left:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.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-right:0!important}.ps-sm-1{padding-right:.25rem!important}.ps-sm-2{padding-right:.5rem!important}.ps-sm-3{padding-right:1rem!important}.ps-sm-4{padding-right:1.5rem!important}.ps-sm-5{padding-right:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.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:.25rem!important}.m-md-2{margin:.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-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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-left:0!important}.me-md-1{margin-left:.25rem!important}.me-md-2{margin-left:.5rem!important}.me-md-3{margin-left:1rem!important}.me-md-4{margin-left:1.5rem!important}.me-md-5{margin-left:3rem!important}.me-md-auto{margin-left:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.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-right:0!important}.ms-md-1{margin-right:.25rem!important}.ms-md-2{margin-right:.5rem!important}.ms-md-3{margin-right:1rem!important}.ms-md-4{margin-right:1.5rem!important}.ms-md-5{margin-right:3rem!important}.ms-md-auto{margin-right:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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-left:0!important}.pe-md-1{padding-left:.25rem!important}.pe-md-2{padding-left:.5rem!important}.pe-md-3{padding-left:1rem!important}.pe-md-4{padding-left:1.5rem!important}.pe-md-5{padding-left:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.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-right:0!important}.ps-md-1{padding-right:.25rem!important}.ps-md-2{padding-right:.5rem!important}.ps-md-3{padding-right:1rem!important}.ps-md-4{padding-right:1.5rem!important}.ps-md-5{padding-right:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.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:.25rem!important}.m-lg-2{margin:.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-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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-left:0!important}.me-lg-1{margin-left:.25rem!important}.me-lg-2{margin-left:.5rem!important}.me-lg-3{margin-left:1rem!important}.me-lg-4{margin-left:1.5rem!important}.me-lg-5{margin-left:3rem!important}.me-lg-auto{margin-left:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.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-right:0!important}.ms-lg-1{margin-right:.25rem!important}.ms-lg-2{margin-right:.5rem!important}.ms-lg-3{margin-right:1rem!important}.ms-lg-4{margin-right:1.5rem!important}.ms-lg-5{margin-right:3rem!important}.ms-lg-auto{margin-right:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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-left:0!important}.pe-lg-1{padding-left:.25rem!important}.pe-lg-2{padding-left:.5rem!important}.pe-lg-3{padding-left:1rem!important}.pe-lg-4{padding-left:1.5rem!important}.pe-lg-5{padding-left:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.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-right:0!important}.ps-lg-1{padding-right:.25rem!important}.ps-lg-2{padding-right:.5rem!important}.ps-lg-3{padding-right:1rem!important}.ps-lg-4{padding-right:1.5rem!important}.ps-lg-5{padding-right:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.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:.25rem!important}.m-xl-2{margin:.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-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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-left:0!important}.me-xl-1{margin-left:.25rem!important}.me-xl-2{margin-left:.5rem!important}.me-xl-3{margin-left:1rem!important}.me-xl-4{margin-left:1.5rem!important}.me-xl-5{margin-left:3rem!important}.me-xl-auto{margin-left:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.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-right:0!important}.ms-xl-1{margin-right:.25rem!important}.ms-xl-2{margin-right:.5rem!important}.ms-xl-3{margin-right:1rem!important}.ms-xl-4{margin-right:1.5rem!important}.ms-xl-5{margin-right:3rem!important}.ms-xl-auto{margin-right:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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-left:0!important}.pe-xl-1{padding-left:.25rem!important}.pe-xl-2{padding-left:.5rem!important}.pe-xl-3{padding-left:1rem!important}.pe-xl-4{padding-left:1.5rem!important}.pe-xl-5{padding-left:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.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-right:0!important}.ps-xl-1{padding-right:.25rem!important}.ps-xl-2{padding-right:.5rem!important}.ps-xl-3{padding-right:1rem!important}.ps-xl-4{padding-right:1.5rem!important}.ps-xl-5{padding-right:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.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:.25rem!important}.m-xxl-2{margin:.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-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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-left:0!important}.me-xxl-1{margin-left:.25rem!important}.me-xxl-2{margin-left:.5rem!important}.me-xxl-3{margin-left:1rem!important}.me-xxl-4{margin-left:1.5rem!important}.me-xxl-5{margin-left:3rem!important}.me-xxl-auto{margin-left:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.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-right:0!important}.ms-xxl-1{margin-right:.25rem!important}.ms-xxl-2{margin-right:.5rem!important}.ms-xxl-3{margin-right:1rem!important}.ms-xxl-4{margin-right:1.5rem!important}.ms-xxl-5{margin-right:3rem!important}.ms-xxl-auto{margin-right:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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-left:0!important}.pe-xxl-1{padding-left:.25rem!important}.pe-xxl-2{padding-left:.5rem!important}.pe-xxl-3{padding-left:1rem!important}.pe-xxl-4{padding-left:1.5rem!important}.pe-xxl-5{padding-left:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.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-right:0!important}.ps-xxl-1{padding-right:.25rem!important}.ps-xxl-2{padding-right:.5rem!important}.ps-xxl-3{padding-right:1rem!important}.ps-xxl-4{padding-right:1.5rem!important}.ps-xxl-5{padding-right:3rem!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-inline-grid{display:inline-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}} +/*# sourceMappingURL=bootstrap-grid.rtl.min.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map new file mode 100644 index 00000000..1c926af5 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.rtl.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\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","/*!\n * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-left: auto;\n margin-right: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-right: 8.33333333%;\n}\n\n.offset-2 {\n margin-right: 16.66666667%;\n}\n\n.offset-3 {\n margin-right: 25%;\n}\n\n.offset-4 {\n margin-right: 33.33333333%;\n}\n\n.offset-5 {\n margin-right: 41.66666667%;\n}\n\n.offset-6 {\n margin-right: 50%;\n}\n\n.offset-7 {\n margin-right: 58.33333333%;\n}\n\n.offset-8 {\n margin-right: 66.66666667%;\n}\n\n.offset-9 {\n margin-right: 75%;\n}\n\n.offset-10 {\n margin-right: 83.33333333%;\n}\n\n.offset-11 {\n margin-right: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-right: 0;\n }\n .offset-sm-1 {\n margin-right: 8.33333333%;\n }\n .offset-sm-2 {\n margin-right: 16.66666667%;\n }\n .offset-sm-3 {\n margin-right: 25%;\n }\n .offset-sm-4 {\n margin-right: 33.33333333%;\n }\n .offset-sm-5 {\n margin-right: 41.66666667%;\n }\n .offset-sm-6 {\n margin-right: 50%;\n }\n .offset-sm-7 {\n margin-right: 58.33333333%;\n }\n .offset-sm-8 {\n margin-right: 66.66666667%;\n }\n .offset-sm-9 {\n margin-right: 75%;\n }\n .offset-sm-10 {\n margin-right: 83.33333333%;\n }\n .offset-sm-11 {\n margin-right: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-right: 0;\n }\n .offset-md-1 {\n margin-right: 8.33333333%;\n }\n .offset-md-2 {\n margin-right: 16.66666667%;\n }\n .offset-md-3 {\n margin-right: 25%;\n }\n .offset-md-4 {\n margin-right: 33.33333333%;\n }\n .offset-md-5 {\n margin-right: 41.66666667%;\n }\n .offset-md-6 {\n margin-right: 50%;\n }\n .offset-md-7 {\n margin-right: 58.33333333%;\n }\n .offset-md-8 {\n margin-right: 66.66666667%;\n }\n .offset-md-9 {\n margin-right: 75%;\n }\n .offset-md-10 {\n margin-right: 83.33333333%;\n }\n .offset-md-11 {\n margin-right: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-right: 0;\n }\n .offset-lg-1 {\n margin-right: 8.33333333%;\n }\n .offset-lg-2 {\n margin-right: 16.66666667%;\n }\n .offset-lg-3 {\n margin-right: 25%;\n }\n .offset-lg-4 {\n margin-right: 33.33333333%;\n }\n .offset-lg-5 {\n margin-right: 41.66666667%;\n }\n .offset-lg-6 {\n margin-right: 50%;\n }\n .offset-lg-7 {\n margin-right: 58.33333333%;\n }\n .offset-lg-8 {\n margin-right: 66.66666667%;\n }\n .offset-lg-9 {\n margin-right: 75%;\n }\n .offset-lg-10 {\n margin-right: 83.33333333%;\n }\n .offset-lg-11 {\n margin-right: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-right: 0;\n }\n .offset-xl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xl-3 {\n margin-right: 25%;\n }\n .offset-xl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xl-6 {\n margin-right: 50%;\n }\n .offset-xl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xl-9 {\n margin-right: 75%;\n }\n .offset-xl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xl-11 {\n margin-right: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-right: 0;\n }\n .offset-xxl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-right: 25%;\n }\n .offset-xxl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-right: 50%;\n }\n .offset-xxl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-right: 75%;\n }\n .offset-xxl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-right: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-left: 0 !important;\n}\n\n.me-1 {\n margin-left: 0.25rem !important;\n}\n\n.me-2 {\n margin-left: 0.5rem !important;\n}\n\n.me-3 {\n margin-left: 1rem !important;\n}\n\n.me-4 {\n margin-left: 1.5rem !important;\n}\n\n.me-5 {\n margin-left: 3rem !important;\n}\n\n.me-auto {\n margin-left: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-right: 0 !important;\n}\n\n.ms-1 {\n margin-right: 0.25rem !important;\n}\n\n.ms-2 {\n margin-right: 0.5rem !important;\n}\n\n.ms-3 {\n margin-right: 1rem !important;\n}\n\n.ms-4 {\n margin-right: 1.5rem !important;\n}\n\n.ms-5 {\n margin-right: 3rem !important;\n}\n\n.ms-auto {\n margin-right: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-left: 0 !important;\n}\n\n.pe-1 {\n padding-left: 0.25rem !important;\n}\n\n.pe-2 {\n padding-left: 0.5rem !important;\n}\n\n.pe-3 {\n padding-left: 1rem !important;\n}\n\n.pe-4 {\n padding-left: 1.5rem !important;\n}\n\n.pe-5 {\n padding-left: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-right: 0 !important;\n}\n\n.ps-1 {\n padding-right: 0.25rem !important;\n}\n\n.ps-2 {\n padding-right: 0.5rem !important;\n}\n\n.ps-3 {\n padding-right: 1rem !important;\n}\n\n.ps-4 {\n padding-right: 1.5rem !important;\n}\n\n.ps-5 {\n padding-right: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-sm-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-left: 0 !important;\n }\n .me-sm-1 {\n margin-left: 0.25rem !important;\n }\n .me-sm-2 {\n margin-left: 0.5rem !important;\n }\n .me-sm-3 {\n margin-left: 1rem !important;\n }\n .me-sm-4 {\n margin-left: 1.5rem !important;\n }\n .me-sm-5 {\n margin-left: 3rem !important;\n }\n .me-sm-auto {\n margin-left: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-right: 0 !important;\n }\n .ms-sm-1 {\n margin-right: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-right: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-right: 1rem !important;\n }\n .ms-sm-4 {\n margin-right: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-right: 3rem !important;\n }\n .ms-sm-auto {\n margin-right: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-left: 0 !important;\n }\n .pe-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-left: 1rem !important;\n }\n .pe-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-left: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-right: 0 !important;\n }\n .ps-sm-1 {\n padding-right: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-right: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-right: 1rem !important;\n }\n .ps-sm-4 {\n padding-right: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-md-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-left: 0 !important;\n }\n .me-md-1 {\n margin-left: 0.25rem !important;\n }\n .me-md-2 {\n margin-left: 0.5rem !important;\n }\n .me-md-3 {\n margin-left: 1rem !important;\n }\n .me-md-4 {\n margin-left: 1.5rem !important;\n }\n .me-md-5 {\n margin-left: 3rem !important;\n }\n .me-md-auto {\n margin-left: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-right: 0 !important;\n }\n .ms-md-1 {\n margin-right: 0.25rem !important;\n }\n .ms-md-2 {\n margin-right: 0.5rem !important;\n }\n .ms-md-3 {\n margin-right: 1rem !important;\n }\n .ms-md-4 {\n margin-right: 1.5rem !important;\n }\n .ms-md-5 {\n margin-right: 3rem !important;\n }\n .ms-md-auto {\n margin-right: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-left: 0 !important;\n }\n .pe-md-1 {\n padding-left: 0.25rem !important;\n }\n .pe-md-2 {\n padding-left: 0.5rem !important;\n }\n .pe-md-3 {\n padding-left: 1rem !important;\n }\n .pe-md-4 {\n padding-left: 1.5rem !important;\n }\n .pe-md-5 {\n padding-left: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-right: 0 !important;\n }\n .ps-md-1 {\n padding-right: 0.25rem !important;\n }\n .ps-md-2 {\n padding-right: 0.5rem !important;\n }\n .ps-md-3 {\n padding-right: 1rem !important;\n }\n .ps-md-4 {\n padding-right: 1.5rem !important;\n }\n .ps-md-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-lg-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-left: 0 !important;\n }\n .me-lg-1 {\n margin-left: 0.25rem !important;\n }\n .me-lg-2 {\n margin-left: 0.5rem !important;\n }\n .me-lg-3 {\n margin-left: 1rem !important;\n }\n .me-lg-4 {\n margin-left: 1.5rem !important;\n }\n .me-lg-5 {\n margin-left: 3rem !important;\n }\n .me-lg-auto {\n margin-left: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-right: 0 !important;\n }\n .ms-lg-1 {\n margin-right: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-right: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-right: 1rem !important;\n }\n .ms-lg-4 {\n margin-right: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-right: 3rem !important;\n }\n .ms-lg-auto {\n margin-right: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-left: 0 !important;\n }\n .pe-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-left: 1rem !important;\n }\n .pe-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-left: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-right: 0 !important;\n }\n .ps-lg-1 {\n padding-right: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-right: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-right: 1rem !important;\n }\n .ps-lg-4 {\n padding-right: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-left: 0 !important;\n }\n .me-xl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xl-3 {\n margin-left: 1rem !important;\n }\n .me-xl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xl-5 {\n margin-left: 3rem !important;\n }\n .me-xl-auto {\n margin-left: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-right: 0 !important;\n }\n .ms-xl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-right: 1rem !important;\n }\n .ms-xl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-right: 3rem !important;\n }\n .ms-xl-auto {\n margin-right: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-left: 0 !important;\n }\n .pe-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-left: 1rem !important;\n }\n .pe-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-left: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-right: 0 !important;\n }\n .ps-xl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-right: 1rem !important;\n }\n .ps-xl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xxl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xxl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xxl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-left: 0 !important;\n }\n .me-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-left: 1rem !important;\n }\n .me-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-left: 3rem !important;\n }\n .me-xxl-auto {\n margin-left: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-right: 0 !important;\n }\n .ms-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-right: 1rem !important;\n }\n .ms-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-right: 3rem !important;\n }\n .ms-xxl-auto {\n margin-right: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xxl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xxl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-left: 0 !important;\n }\n .pe-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-left: 1rem !important;\n }\n .pe-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-left: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-right: 0 !important;\n }\n .ps-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-right: 1rem !important;\n }\n .ps-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-right: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.rtl.css.map */","// 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","// 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","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\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","// 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: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // 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 an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// 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","// 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"]} \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css new file mode 100644 index 00000000..63054109 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css @@ -0,0 +1,597 @@ +/*! + * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root, +[data-bs-theme=light] { + --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-primary-text-emphasis: #052c65; + --bs-secondary-text-emphasis: #2b2f32; + --bs-success-text-emphasis: #0a3622; + --bs-info-text-emphasis: #055160; + --bs-warning-text-emphasis: #664d03; + --bs-danger-text-emphasis: #58151c; + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: #cfe2ff; + --bs-secondary-bg-subtle: #e2e3e5; + --bs-success-bg-subtle: #d1e7dd; + --bs-info-bg-subtle: #cff4fc; + --bs-warning-bg-subtle: #fff3cd; + --bs-danger-bg-subtle: #f8d7da; + --bs-light-bg-subtle: #fcfcfd; + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: #9ec5fe; + --bs-secondary-border-subtle: #c4c8cb; + --bs-success-border-subtle: #a3cfbb; + --bs-info-border-subtle: #9eeaf9; + --bs-warning-border-subtle: #ffe69c; + --bs-danger-border-subtle: #f1aeb5; + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --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-color-rgb: 33, 37, 41; + --bs-body-bg: #fff; + --bs-body-bg-rgb: 255, 255, 255; + --bs-emphasis-color: #000; + --bs-emphasis-color-rgb: 0, 0, 0; + --bs-secondary-color: rgba(33, 37, 41, 0.75); + --bs-secondary-color-rgb: 33, 37, 41; + --bs-secondary-bg: #e9ecef; + --bs-secondary-bg-rgb: 233, 236, 239; + --bs-tertiary-color: rgba(33, 37, 41, 0.5); + --bs-tertiary-color-rgb: 33, 37, 41; + --bs-tertiary-bg: #f8f9fa; + --bs-tertiary-bg-rgb: 248, 249, 250; + --bs-heading-color: inherit; + --bs-link-color: #0d6efd; + --bs-link-color-rgb: 13, 110, 253; + --bs-link-decoration: underline; + --bs-link-hover-color: #0a58ca; + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-color: #212529; + --bs-highlight-bg: #fff3cd; + --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-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #dee2e6; + --bs-body-color-rgb: 222, 226, 230; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(222, 226, 230, 0.75); + --bs-secondary-color-rgb: 222, 226, 230; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(222, 226, 230, 0.5); + --bs-tertiary-color-rgb: 222, 226, 230; + --bs-tertiary-bg: #2b3035; + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: #6ea8fe; + --bs-secondary-text-emphasis: #a7acb1; + --bs-success-text-emphasis: #75b798; + --bs-info-text-emphasis: #6edff6; + --bs-warning-text-emphasis: #ffda6a; + --bs-danger-text-emphasis: #ea868f; + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: #031633; + --bs-secondary-bg-subtle: #161719; + --bs-success-bg-subtle: #051b11; + --bs-info-bg-subtle: #032830; + --bs-warning-bg-subtle: #332701; + --bs-danger-bg-subtle: #2c0b0e; + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: #084298; + --bs-secondary-border-subtle: #41464b; + --bs-success-border-subtle: #0f5132; + --bs-info-border-subtle: #087990; + --bs-warning-border-subtle: #997404; + --bs-danger-border-subtle: #842029; + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: #6ea8fe; + --bs-link-hover-color: #8bb9fe; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: #e685b5; + --bs-highlight-color: #dee2e6; + --bs-highlight-bg: #664d03; + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: #75b798; + --bs-form-valid-border-color: #75b798; + --bs-form-invalid-color: #ea868f; + --bs-form-invalid-border-color: #ea868f; +} + +*, +*::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: var(--bs-border-width) solid; + opacity: 0.25; +} + +h6, h5, h4, h3, h2, h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; + color: var(--bs-heading-color); +} + +h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1 { + font-size: 2.5rem; + } +} + +h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2 { + font-size: 2rem; + } +} + +h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3 { + font-size: 1.75rem; + } +} + +h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4 { + font-size: 1.5rem; + } +} + +h5 { + font-size: 1.25rem; +} + +h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +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: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 0.875em; +} + +mark { + padding: 0.1875em; + color: var(--bs-highlight-color); + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); + text-decoration: underline; +} +a:hover { + --bs-link-color-rgb: var(--bs-link-hover-color-rgb); +} + +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: var(--bs-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(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] { + -webkit-appearance: textfield; + outline-offset: -2px; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map new file mode 100644 index 00000000..5fe522b6 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_color-mode.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n",":root,\n[data-bs-theme=\"light\"] {\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 @each $color, $value in $theme-colors-text {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\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: #{inspect($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 @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n\n --#{$prefix}body-color: #{$body-color};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg: #{$body-bg};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n // scss-docs-end root-body-variables\n\n --#{$prefix}heading-color: #{$headings-color};\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n --#{$prefix}link-decoration: #{$link-decoration};\n\n --#{$prefix}link-hover-color: #{$link-hover-color};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n @if $link-hover-decoration != null {\n --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n }\n\n --#{$prefix}code-color: #{$code-color};\n --#{$prefix}highlight-color: #{$mark-color};\n --#{$prefix}highlight-bg: #{$mark-bg};\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-xxl: #{$border-radius-xxl};\n --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}box-shadow: #{$box-shadow};\n --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n // Focus styles\n // scss-docs-start root-focus-variables\n --#{$prefix}focus-ring-width: #{$focus-ring-width};\n --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n --#{$prefix}focus-ring-color: #{$focus-ring-color};\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-validation-variables\n --#{$prefix}form-valid-color: #{$form-valid-color};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n --#{$prefix}form-invalid-color: #{$form-invalid-color};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark, true) {\n color-scheme: dark;\n\n // scss-docs-start root-dark-mode-vars\n --#{$prefix}body-color: #{$body-color-dark};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n @each $color, $value in $theme-colors-text-dark {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle-dark {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle-dark {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}heading-color: #{$headings-color-dark};\n\n --#{$prefix}link-color: #{$link-color-dark};\n --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n --#{$prefix}code-color: #{$code-color-dark};\n --#{$prefix}highlight-color: #{$mark-color-dark};\n --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n --#{$prefix}border-color: #{$border-color-dark};\n --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n // scss-docs-end root-dark-mode-vars\n }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\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 } @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 } @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 } @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 } @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 $fluid-val: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluid-val {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule () {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\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, $fluid-val, $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","/*!\n * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root,\n[data-bs-theme=light] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-primary-text-emphasis: #052c65;\n --bs-secondary-text-emphasis: #2b2f32;\n --bs-success-text-emphasis: #0a3622;\n --bs-info-text-emphasis: #055160;\n --bs-warning-text-emphasis: #664d03;\n --bs-danger-text-emphasis: #58151c;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #cfe2ff;\n --bs-secondary-bg-subtle: #e2e3e5;\n --bs-success-bg-subtle: #d1e7dd;\n --bs-info-bg-subtle: #cff4fc;\n --bs-warning-bg-subtle: #fff3cd;\n --bs-danger-bg-subtle: #f8d7da;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #9ec5fe;\n --bs-secondary-border-subtle: #c4c8cb;\n --bs-success-border-subtle: #a3cfbb;\n --bs-info-border-subtle: #9eeaf9;\n --bs-warning-border-subtle: #ffe69c;\n --bs-danger-border-subtle: #f1aeb5;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-heading-color: inherit;\n --bs-link-color: #0d6efd;\n --bs-link-color-rgb: 13, 110, 253;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #0a58ca;\n --bs-link-hover-color-rgb: 10, 88, 202;\n --bs-code-color: #d63384;\n --bs-highlight-color: #212529;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0.375rem;\n --bs-border-radius-sm: 0.25rem;\n --bs-border-radius-lg: 0.5rem;\n --bs-border-radius-xl: 1rem;\n --bs-border-radius-xxl: 2rem;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50rem;\n --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25rem;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(13, 110, 253, 0.25);\n --bs-form-valid-color: #198754;\n --bs-form-valid-border-color: #198754;\n --bs-form-invalid-color: #dc3545;\n --bs-form-invalid-border-color: #dc3545;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n --bs-body-color: #dee2e6;\n --bs-body-color-rgb: 222, 226, 230;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(222, 226, 230, 0.75);\n --bs-secondary-color-rgb: 222, 226, 230;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(222, 226, 230, 0.5);\n --bs-tertiary-color-rgb: 222, 226, 230;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #6ea8fe;\n --bs-secondary-text-emphasis: #a7acb1;\n --bs-success-text-emphasis: #75b798;\n --bs-info-text-emphasis: #6edff6;\n --bs-warning-text-emphasis: #ffda6a;\n --bs-danger-text-emphasis: #ea868f;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #031633;\n --bs-secondary-bg-subtle: #161719;\n --bs-success-bg-subtle: #051b11;\n --bs-info-bg-subtle: #032830;\n --bs-warning-bg-subtle: #332701;\n --bs-danger-bg-subtle: #2c0b0e;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #084298;\n --bs-secondary-border-subtle: #41464b;\n --bs-success-border-subtle: #0f5132;\n --bs-info-border-subtle: #087990;\n --bs-warning-border-subtle: #997404;\n --bs-danger-border-subtle: #842029;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-heading-color: inherit;\n --bs-link-color: #6ea8fe;\n --bs-link-hover-color: #8bb9fe;\n --bs-link-color-rgb: 110, 168, 254;\n --bs-link-hover-color-rgb: 139, 185, 254;\n --bs-code-color: #e685b5;\n --bs-highlight-color: #dee2e6;\n --bs-highlight-bg: #664d03;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n border: 0;\n border-top: var(--bs-border-width) solid;\n opacity: 0.25;\n}\n\nh6, h5, h4, h3, h2, h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--bs-heading-color);\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.1875em;\n color: var(--bs-highlight-color);\n background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n text-decoration: underline;\n}\na:hover {\n --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--bs-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875rem 0.375rem;\n font-size: 0.875em;\n color: var(--bs-body-bg);\n background-color: var(--bs-body-color);\n border-radius: 0.25rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--bs-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]: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\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n @if $color-mode-type == \"media-query\" {\n @if $root == true {\n @media (prefers-color-scheme: $mode) {\n :root {\n @content;\n }\n }\n } @else {\n @media (prefers-color-scheme: $mode) {\n @content;\n }\n }\n } @else {\n [data-bs-theme=\"#{$mode}\"] {\n @content;\n }\n }\n}\n// scss-docs-end color-mode-mixin\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, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-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 `

`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 color: var(--#{$prefix}highlight-color);\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: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\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 `` 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-` - -@code { - private int currentCount = 0; - - private void IncrementCount() - { - currentCount++; - } -} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard.razor new file mode 100644 index 00000000..f5cff24c --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard.razor @@ -0,0 +1,8 @@ +@page "/dashboard" +@layout DashboardLayout + +Dashboard — Identity Lab + + + My Sandbox + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Home.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Home.razor deleted file mode 100644 index 9001e0bd..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Home.razor +++ /dev/null @@ -1,7 +0,0 @@ -@page "/" - -Home - -

Hello, world!

- -Welcome to your new app. diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor new file mode 100644 index 00000000..d2aee5a9 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor @@ -0,0 +1,267 @@ +@page "/" +@layout PublicLayout + +Identity Lab — Explore UltimateAuth + +
+ + + + +
+ + THE ULTIMATEAUTH EXPERIENCE +
+ + + Identity, made + interactive. + + + + Create your sandbox. Manage identities. + Explore authentication, authorization, + and session management powered by UltimateAuth. + + + + + Launch Your Sandbox + + + + Explore Docs + + + + + + Free to explore + + Real authentication flows + +
+ + + +
+
+
+ + UltimateAuth +
+ IDENTITY LAB · PREVIEW +
+ +
+
+
+
AUTHENTICATION PLATFORM
+ One identity. Complete control. +
+ + Active + +
+ +
+
+ + Unified + Session model +
+
+ + 3 Devices + Managed centrally +
+
+ + Authorized + Roles & permissions +
+
+ +
+
+ Unified Session Architecture + Lifecycle aware +
+
+ Root + + Chain + + Session +
+
+ +
+
+ +
+ Windows · Chrome + Current session +
+ Current +
+ +
+ +
+ iPhone · Safari + Remote session +
+ Revoke +
+ +
+ + Sign out from other devices + +
+
+
+
+
+ +
+
+
+ +
+ + +
+ + BUILT FOR EXPLORATION + + + + Experience identity in action. + + + + Go beyond documentation. Explore real identity workflows through an interactive sandbox. + +
+ + + @foreach (var feature in _features) + { + + +
+ +
+ + @feature.Title + + @feature.Description + +
+
+ } +
+ +
+
+ +
+ + +
+ + GET STARTED + + + + Your sandbox, in three steps. + +
+ + + @foreach (var step in _steps) + { + +
+
@step.Number
+ @step.Title + + @step.Description + +
+
+ } +
+ +
+
+ +
+ +
+ + Ready to explore identity? + + + + Create your sandbox and discover what + UltimateAuth can do. + + + + Get Started + +
+
+
+ +@code { + private readonly (string Title, string Description, string Icon)[] _features = + [ + ("Authentication", + "Experience login, registration, and secure identity flows.", + Icons.Material.Filled.Lock), + + ("Authorization", + "Explore roles, permissions, and access control.", + Icons.Material.Filled.AdminPanelSettings), + + ("Sessions", + "Inspect active sessions and authentication lifecycle.", + Icons.Material.Filled.Devices), + + ("Sandbox", + "Manage identities in your own isolated demo workspace.", + Icons.Material.Filled.Science) + ]; + + private readonly (string Number, string Title, string Description)[] _steps = + [ + ("01", "Create your account", + "Register to get started with Identity Lab."), + + ("02", "Launch your sandbox", + "Access your personal workspace and manage test identities."), + + ("03", "Explore UltimateAuth", + "Experiment with authentication, sessions, and authorization.") + ]; +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor.css new file mode 100644 index 00000000..393e793e --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor.css @@ -0,0 +1,387 @@ +.lab-hero { + padding: 112px 0 120px; + background: radial-gradient( ellipse at 80% 30%, color-mix(in srgb, var(--mud-palette-primary) 12%, transparent), transparent 55% ), linear-gradient( 135deg, var(--mud-palette-background) 0%, var(--mud-palette-surface) 100% ); +} + +.lab-eyebrow { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 8px 14px; + border-radius: 999px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); + font-size: 0.75rem; + font-weight: 700; + letter-spacing: 1px; + margin-bottom: 24px; +} + +.lab-hero-title { + font-weight: 800; + line-height: 1.12; + letter-spacing: -2px; + margin-bottom: 24px; +} + + .lab-hero-title span { + display: block; + color: var(--mud-palette-primary); + } + +.lab-hero-description { + max-width: 510px; + line-height: 1.8; + color: var(--mud-palette-text-secondary); +} + +.lab-preview { + overflow: hidden; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 20px; + background: var(--mud-palette-surface); + box-shadow: 0 25px 70px rgba(0, 0, 0, 0.09); + transform: rotate(-1deg); +} + +.lab-preview-header { + display: flex; + align-items: center; + gap: 7px; + padding: 15px 20px; + border-bottom: 1px solid var(--mud-palette-lines-default); +} + +.lab-preview-dot { + width: 9px; + height: 9px; + border-radius: 50%; + background: var(--mud-palette-lines-default); +} + +.lab-preview-url { + margin-left: 15px; + color: var(--mud-palette-text-secondary); + font-size: 0.75rem; +} + +.lab-preview-content { + padding: 32px; +} + +.lab-preview-label { + font-size: 0.7rem; + letter-spacing: 1.4px; + color: var(--mud-palette-primary); + font-weight: 700; + margin-bottom: 12px; +} + +.lab-preview-stat { + display: flex; + flex-direction: column; + gap: 8px; + padding: 20px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; +} + +.lab-preview-activity { + display: flex; + align-items: center; + gap: 12px; + padding: 16px; + margin-top: 20px; + border-radius: 12px; + background: var(--mud-palette-background); +} + +.lab-section { + padding: 100px 0; +} + +.lab-section-alt { + background: var(--mud-palette-background-gray); +} + +.lab-section-heading { + text-align: center; + max-width: 650px; + margin: 0 auto 50px; +} + + .lab-section-heading .mud-typography-h3 { + font-weight: 750; + margin: 12px 0 20px; + } + +.lab-feature-card { + height: 100%; + padding: 28px; + border-radius: 16px; + display: flex; + flex-direction: column; + gap: 16px; + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + + .lab-feature-card:hover { + transform: translateY(-4px); + box-shadow: 0 14px 35px rgba(0, 0, 0, 0.06); + } + +.lab-feature-icon { + display: flex; + justify-content: center; + align-items: center; + width: 52px; + height: 52px; + border-radius: 12px; + background: var(--mud-palette-primary-hover); +} + +.lab-step { + padding: 24px; + display: flex; + flex-direction: column; + gap: 16px; +} + +.lab-step-number { + font-size: 2rem; + font-weight: 800; + color: var(--mud-palette-primary); +} + +.lab-final-cta { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + gap: 24px; + padding: 64px 32px; + border-radius: 24px; + background: var(--mud-palette-background-gray); +} + + .lab-final-cta .mud-typography-h3 { + font-weight: 750; + } + +@media (max-width: 960px) { + .lab-hero { + padding: 72px 0; + } + + .lab-hero-title { + letter-spacing: -1px; + } + + .lab-preview { + transform: none; + margin-top: 32px; + } + + .lab-section { + padding: 64px 0; + } +} + + + +.lab-preview { + border: 1px solid var(--mud-palette-lines-default); + border-radius: 20px; + background: var(--mud-palette-surface); + box-shadow: 0 24px 65px rgba(0, 45, 65, .10); + overflow: hidden; + transform: rotate(-1deg); + max-width: 560px; + margin: auto; +} + +.lab-preview-top { + display: flex; + justify-content: space-between; + align-items: center; + gap: 12px; + padding: 13px 20px; + border-bottom: 1px solid var(--mud-palette-lines-default); +} + +.lab-preview-brand, +.lab-preview-online, +.lab-preview-device, +.lab-preview-signout { + display: flex; + align-items: center; + gap: 9px; +} + +.lab-preview-brand { + font-size: 13px; + font-weight: 800; +} + +.lab-preview-badge, +.lab-preview-eyebrow { + font-size: 10px; + font-weight: 700; + letter-spacing: 1px; + color: var(--mud-palette-primary); +} + +.lab-preview-badge { + white-space: nowrap; +} + +.lab-preview-body { + padding: 22px; +} + +.lab-preview-heading, +.lab-preview-row-title { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.lab-preview-eyebrow { + margin-bottom: 6px; +} + +.lab-preview-online { + font-size: 11px; + color: var(--mud-palette-success); +} + + .lab-preview-online span { + width: 7px; + height: 7px; + border-radius: 50%; + background: currentColor; + } + +.lab-preview-metrics { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 9px; + margin-top: 20px; +} + +.lab-preview-metric { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 5px; + padding: 13px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + min-width: 0; +} + + .lab-preview-metric strong, + .lab-preview-device strong { + font-size: 12px; + line-height: 1.3; + } + + .lab-preview-metric small, + .lab-preview-device small, + .lab-preview-muted { + font-size: 10px; + color: var(--mud-palette-text-secondary); + } + +.lab-preview-flow { + margin-top: 12px; + padding: 14px; + border-radius: 11px; + background: var(--mud-palette-background); +} + +.lab-preview-row-title { + font-size: 11px; + font-weight: 700; + margin-bottom: 12px; +} + +.lab-preview-chain { + display: flex; + align-items: center; + justify-content: space-between; + gap: 5px; + color: var(--mud-palette-primary); +} + + .lab-preview-chain span { + flex: 1; + text-align: center; + padding: 8px 5px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 7px; + background: var(--mud-palette-surface); + color: var(--mud-palette-text-primary); + font-size: 11px; + font-weight: 600; + } + +.lab-preview-bottom { + margin-top: 12px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + overflow: hidden; +} + +.lab-preview-device { + padding: 11px 14px; + border-bottom: 1px solid var(--mud-palette-lines-default); +} + + .lab-preview-device > div { + display: flex; + flex: 1; + flex-direction: column; + gap: 2px; + } + +.lab-preview-current, +.lab-preview-revoke-label { + font-size: 10px; + font-weight: 700; + color: var(--mud-palette-success); +} + +.lab-preview-revoke-label { + color: var(--mud-palette-error); +} + +.lab-preview-signout { + justify-content: center; + padding: 11px; + font-size: 11px; + font-weight: 700; + color: var(--mud-palette-error); + background: var(--mud-palette-background); +} + +@media (max-width: 960px) { + .lab-preview { + transform: none; + } +} + +@media (max-width: 480px) { + .lab-preview-body { + padding: 14px; + } + + .lab-preview-metric { + padding: 9px; + } + + .lab-preview-badge { + font-size: 8px; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/NotFound.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/NotFound.razor deleted file mode 100644 index 917ada1d..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/NotFound.razor +++ /dev/null @@ -1,5 +0,0 @@ -@page "/not-found" -@layout MainLayout - -

Not Found

-

Sorry, the content you are looking for does not exist.

\ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Weather.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Weather.razor deleted file mode 100644 index 2a2a6cfb..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Weather.razor +++ /dev/null @@ -1,63 +0,0 @@ -@page "/weather" - -Weather - -

Weather

- -

This component demonstrates showing data.

- -@if (forecasts == null) -{ -

Loading...

-} -else -{ - - - - - - - - - - - @foreach (var forecast in forecasts) - { - - - - - - - } - -
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
-} - -@code { - private WeatherForecast[]? forecasts; - - protected override async Task OnInitializedAsync() - { - // Simulate asynchronous loading to demonstrate a loading indicator - await Task.Delay(500); - - var startDate = DateOnly.FromDateTime(DateTime.Now); - var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; - forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - Date = startDate.AddDays(index), - TemperatureC = Random.Shared.Next(-20, 55), - Summary = summaries[Random.Shared.Next(summaries.Length)] - }).ToArray(); - } - - private class WeatherForecast - { - public DateOnly Date { get; set; } - public int TemperatureC { get; set; } - public string? Summary { get; set; } - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); - } -} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Routes.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Routes.razor index 1b979547..ec87485a 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Routes.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Routes.razor @@ -1,2 +1,103 @@ - - +@using CodeBeam.UltimateAuth.Client.Blazor +@using CodeBeam.UltimateAuth.Sample.Shared.Infrastructure +@using MudBlazor +@implements IDisposable + +@inject ISnackbar Snackbar +@inject DarkModeManager DarkModeManager + + + + + + + + + + + + + + + + + + + + +@code { + private readonly MudTheme LabTheme = new() + { + PaletteLight = new PaletteLight + { + Primary = "#087f7b", + Secondary = "#11223f", + Background = "#f8fbfc", + Surface = "#ffffff", + TextPrimary = "#08162f", + TextSecondary = "#536581" + }, + + PaletteDark = new PaletteDark + { + Primary = "#29c6b7", + Secondary = "#78a7e3", + + Background = "#091629", + BackgroundGray = "#0d1e33", + Surface = "#10233a", + AppbarBackground = "#0d1e33", + DrawerBackground = "#10233a", + + TextPrimary = "#f1f7ff", + TextSecondary = "#9db1ca", + + LinesDefault = "#294158", + LinesInputs = "#36506a", + + Success = "#35d39c", + Info = "#69baff", + Warning = "#ffbf69", + Error = "#ff7585", + + ActionDefault = "#a9bfd5", + ActionDisabled = "#61758c" + }, + + Typography = new Typography { Default = new DefaultTypography { FontFamily = ["Inter", "sans-serif"] } }, + LayoutProperties = new LayoutProperties { DefaultBorderRadius = "12px" } + }; + + private Task HandleReauth() + { + Snackbar.Add( + "Your session has expired. Please sign in again.", + Severity.Warning); + + return Task.CompletedTask; + } + + protected override void OnInitialized() + { + DarkModeManager.Changed += OnThemeChanged; + } + + private void OnThemeChanged() + { + _ = InvokeAsync(StateHasChanged); + } + + protected override async Task OnAfterRenderAsync(bool firstRender) + { + if (firstRender) + { + await DarkModeManager.InitializeAsync(); + StateHasChanged(); + } + } + + public void Dispose() + { + DarkModeManager.Changed -= OnThemeChanged; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor index c4eaeae5..c4ebbffc 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor @@ -9,6 +9,7 @@ @using CodeBeam.UltimateAuth.IdentityLab @using CodeBeam.UltimateAuth.IdentityLab.Components @using CodeBeam.UltimateAuth.IdentityLab.Components.Layout +@using CodeBeam.UltimateAuth.IdentityLab.Components.Custom @using CodeBeam.UltimateAuth.Sample.Shared.Components @using CodeBeam.UltimateAuth.Sample.Shared.Components.Page diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs index 587058db..f937c998 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs @@ -1,13 +1,14 @@ +using CodeBeam.UltimateAuth.Client.Blazor; +using CodeBeam.UltimateAuth.Client.Blazor.Extensions; +using CodeBeam.UltimateAuth.Core.Domain; using CodeBeam.UltimateAuth.EntityFrameworkCore; using CodeBeam.UltimateAuth.IdentityLab.Components; using CodeBeam.UltimateAuth.Sample.Seed.Extensions; using CodeBeam.UltimateAuth.Sample.Shared.Infrastructure; using CodeBeam.UltimateAuth.Server.Extensions; -using CodeBeam.UltimateAuth.Client.Blazor.Extensions; +using Microsoft.EntityFrameworkCore; using MudBlazor.Services; using MudExtensions.Services; -using CodeBeam.UltimateAuth.Core.Domain; -using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); @@ -47,7 +48,6 @@ { //o.AutoRefresh.Interval = TimeSpan.FromSeconds(5); o.Reauth.Behavior = ReauthBehavior.RaiseEvent; - //o.UAuthStateRefreshMode = UAuthStateRefreshMode.Validate; }); builder.Services.AddScopedUltimateAuthSampleSeed(); @@ -70,6 +70,7 @@ app.MapUltimateAuthEndpoints(); app.MapStaticAssets(); app.MapRazorComponents() - .AddInteractiveServerRenderMode(); + .AddInteractiveServerRenderMode() + .AddUltimateAuthRoutes(UAuthAssemblies.BlazorClient()); app.Run(); diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/ultimateauth-logo.png b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/ultimateauth-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..da686529e1dfcaa0e96fbb1ecf7806a082d4cf71 GIT binary patch literal 3670 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 Z2vZ^)90V(5QWr&l9^6p7LeuW~zW`we&8PqX literal 0 HcmV?d00001 From ab15593e249bf1922d50b6eefedb61d5560abb0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20Can=20Karag=C3=B6z?= Date: Wed, 21 Oct 2026 16:37:08 +0300 Subject: [PATCH 3/6] Add Dashboard Pages --- .../Components/Layout/DashboardLayout.razor | 162 ++++++- .../Layout/DashboardLayout.razor.css | 159 +++++++ .../Components/Pages/Dashboard.razor | 8 - .../Pages/Dashboard/ActivityPage.razor | 293 +++++++++++++ .../Pages/Dashboard/ActivityPage.razor.css | 290 +++++++++++++ .../Pages/Dashboard/AuthorizationPage.razor | 337 +++++++++++++++ .../Dashboard/AuthorizationPage.razor.css | 324 ++++++++++++++ .../Pages/Dashboard/MyAccessPage.razor | 290 +++++++++++++ .../Pages/Dashboard/MyAccessPage.razor.css | 311 ++++++++++++++ .../Pages/Dashboard/MyIdentityPage.razor | 303 +++++++++++++ .../Pages/Dashboard/MyIdentityPage.razor.css | 240 +++++++++++ .../Pages/Dashboard/MySessionsPage.razor | 370 ++++++++++++++++ .../Pages/Dashboard/MySessionsPage.razor.css | 404 ++++++++++++++++++ .../Pages/Dashboard/SettingsPage.razor | 285 ++++++++++++ .../Pages/Dashboard/SettingsPage.razor.css | 240 +++++++++++ .../Pages/Dashboard/UsersPage.razor | 329 ++++++++++++++ .../Pages/Dashboard/UsersPage.razor.css | 321 ++++++++++++++ .../Components/Pages/DashboardPage.razor | 275 ++++++++++++ .../Components/Pages/DashboardPage.razor.css | 317 ++++++++++++++ .../Components/Pages/LoginPage.razor | 160 +++++++ .../Components/Pages/LoginPage.razor.css | 293 +++++++++++++ .../Components/Pages/RegisterPage.razor | 217 ++++++++++ .../Components/Pages/RegisterPage.razor.css | 293 +++++++++++++ .../Components/_Imports.razor | 3 + 24 files changed, 6197 insertions(+), 27 deletions(-) create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/ActivityPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/ActivityPage.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyAccessPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyAccessPage.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/SettingsPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/SettingsPage.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/DashboardPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/DashboardPage.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LoginPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LoginPage.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/RegisterPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/RegisterPage.razor.css diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor index df304a84..d3f452c6 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor @@ -1,38 +1,162 @@ @inherits LayoutComponentBase +@implements IDisposable +@using CodeBeam.UltimateAuth.Sample.Shared.Infrastructure +@inject DarkModeManager DarkModeManager - - - + +
+ - - Identity Lab - + - + + + + + + Identity Lab + Sandbox Workspace + + - - My Sandbox - - + - + + + - + + + + + + + +
+ + + +
+ +
+ + + +
+ My Sandbox + Identity environment +
+ +
+ + +
WORKSPACE
+ + + Overview + + +
PERSONAL
+ + + My Identity + + + + My Sessions + + + + My Access + + + @if (ShowManagement) + { +
SANDBOX MANAGEMENT
+ + + Users + + + + Authorization + + + + Activity + + + + Settings + + } +
+ + + +
+ + Powered by UltimateAuth +
+
- - - @Body - + + @Body +
@code { private bool _drawerOpen = true; - private void ToggleDrawer() + // UI preview only. Replace with sandbox-scoped authorization. + private bool ShowManagement => true; + + protected override void OnInitialized() + { + DarkModeManager.Changed += OnThemeChanged; + } + + private void OnThemeChanged() + { + _ = InvokeAsync(StateHasChanged); + } + + public void Dispose() { - _drawerOpen = !_drawerOpen; + DarkModeManager.Changed -= OnThemeChanged; } } diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor.css new file mode 100644 index 00000000..b0fb97c9 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor.css @@ -0,0 +1,159 @@ +.lab-dashboard-layout { + background: var(--mud-palette-background); + min-height: 100vh; +} + +.lab-dashboard-appbar { + background: var(--mud-palette-surface) !important; + color: var(--mud-palette-text-primary) !important; + border-bottom: 1px solid var(--mud-palette-lines-default); +} + +.lab-dashboard-brand { + display: inline-flex; + align-items: center; + gap: 11px; + color: var(--mud-palette-text-primary); + text-decoration: none; +} + +.lab-dashboard-brand-icon { + width: 38px; + height: 38px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-dashboard-brand > span:last-child { + display: flex; + flex-direction: column; + gap: 2px; +} + +.lab-dashboard-brand strong { + font-size: 1rem; + font-weight: 800; + letter-spacing: -.5px; + line-height: 1.1; +} + +.lab-dashboard-brand small { + font-size: .68rem; + color: var(--mud-palette-text-secondary); +} + +.lab-dashboard-drawer { + background: var(--mud-palette-surface) !important; + border-right: 1px solid var(--mud-palette-lines-default); +} + +.lab-sidebar-content { + display: flex; + flex-direction: column; + min-height: 100%; + padding: 20px 12px; +} + +.lab-sidebar-sandbox { + display: flex; + align-items: center; + gap: 10px; + padding: 12px; + margin-bottom: 22px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 13px; +} + +.lab-sidebar-sandbox-icon { + display: flex; + align-items: center; + justify-content: center; + width: 36px; + height: 36px; + border-radius: 10px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-sidebar-sandbox > div { + flex: 1; + display: flex; + flex-direction: column; + gap: 3px; + min-width: 0; +} + +.lab-sidebar-sandbox strong { + font-size: .8rem; + font-weight: 700; +} + +.lab-sidebar-sandbox small { + font-size: .68rem; + color: var(--mud-palette-text-secondary); +} + +.lab-nav-label { + margin: 19px 12px 9px; + color: var(--mud-palette-text-secondary); + font-size: .64rem; + font-weight: 800; + letter-spacing: 1.1px; +} + +.lab-sidebar-content ::deep .mud-nav-link { + margin: 2px 0; + border-radius: 10px; + font-size: .84rem; +} + + .lab-sidebar-content ::deep .mud-nav-link.active { + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); + font-weight: 650; + } + +.lab-sidebar-bottom { + display: flex; + align-items: center; + gap: 8px; + padding: 18px 12px 4px; + color: var(--mud-palette-text-secondary); + font-size: .72rem; +} + +.lab-dashboard-main { + min-height: calc(100vh - var(--mud-appbar-height)); +} + +.lab-mobile-menu { + display: none; +} + +@media (max-width: 960px) { + .lab-mobile-menu { + display: inline-flex; + } +} + +@media (max-width: 600px) { + .lab-dashboard-brand small { + display: none; + } + + .lab-dashboard-brand-icon { + width: 34px; + height: 34px; + } +} + +.lab-appbar-host ::deep .mud-appbar { + background-color: var(--mud-palette-surface) !important; + color: var(--mud-palette-text-primary) !important; + border-bottom: 1px solid var(--mud-palette-lines-default); + box-shadow: none !important; +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard.razor deleted file mode 100644 index f5cff24c..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard.razor +++ /dev/null @@ -1,8 +0,0 @@ -@page "/dashboard" -@layout DashboardLayout - -Dashboard — Identity Lab - - - My Sandbox - diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/ActivityPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/ActivityPage.razor new file mode 100644 index 00000000..136e1bd9 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/ActivityPage.razor @@ -0,0 +1,293 @@ +@page "/dashboard/activity" +@layout DashboardLayout + +@* TODO: Enable sandbox-scoped authorization. +@attribute [UAuthAuthorize] +*@ + +Activity · Identity Lab + +
+ + +
+
+ SANDBOX MANAGEMENT +

Activity

+

Review identity, session, and authorization activity within your sandbox.

+
+ + + Demo Preview + +
+ +
+
+ + Recorded Events + @_events.Count + Example activity records +
+ +
+ + Actors + @_events.Select(x => x.Actor).Distinct().Count() + Example users +
+ +
+ + Security Events + @_events.Count(x => x.Category == ActivityCategory.Security) + Illustrative security activity +
+
+ +
+ +
+
+

Activity Log

+

Explore events recorded within this sandbox.

+
+ + + Export + +
+ +
+ + + + All categories + Identity + Session + Authorization + Security + + + + All dates + Last 7 days + Last 30 days + +
+ + + + + Event + Actor + Category + Date + Details + + + + +
+ + + +
+ @context.Title + @context.Description +
+
+
+ + + @context.Actor + + + + + @context.Category + + + + + + @context.Timestamp.ToString("MMM dd, yyyy") + + + + +
+ +
+
+
+ + +
+ + No matching events +

Try adjusting your filters.

+
+
+ + + + + +
+
+ + @if (_selectedEvent is not null) + { +
+
+
+

Event Details

+

Example activity record

+
+ +
+ +
+
Event@_selectedEvent.Title
+
Actor@_selectedEvent.Actor
+
Category@_selectedEvent.Category
+
Timestamp (UTC)@_selectedEvent.Timestamp.ToString("yyyy-MM-dd HH:mm")
+
+ +

+ @_selectedEvent.Description +

+
+ } + + + Activity records shown here are illustrative. Production activity + will require explicit event recording, sandbox isolation, and + appropriate data retention rules. + + +
+
+ +@code { + private string _search = string.Empty; + private string _category = "all"; + private string _period = "all"; + + private ActivityPreview? _selectedEvent; + + private static readonly DateTime PreviewDate = + new(2026, 10, 21, 12, 0, 0, DateTimeKind.Utc); + + private readonly List _events = + [ + new("User Created", "A new member was added to the sandbox.", + "alex", ActivityCategory.Identity, PreviewDate.AddHours(-2)), + + new("Session Revoked", "A remote session was revoked.", + "taylor", ActivityCategory.Session, PreviewDate.AddHours(-5)), + + new("Role Updated", "A sandbox role configuration was changed.", + "alex", ActivityCategory.Authorization, PreviewDate.AddDays(-1)), + + new("Password Changed", "A member updated their credential.", + "jordan", ActivityCategory.Security, PreviewDate.AddDays(-2)), + + new("User Disabled", "A member account was disabled.", + "alex", ActivityCategory.Identity, PreviewDate.AddDays(-4)), + + new("Session Created", "A new authenticated session was established.", + "taylor", ActivityCategory.Session, PreviewDate.AddDays(-9)) + ]; + + private IEnumerable FilteredEvents => + _events + .Where(x => + (string.IsNullOrWhiteSpace(_search) || + x.Title.Contains(_search, StringComparison.OrdinalIgnoreCase) || + x.Description.Contains(_search, StringComparison.OrdinalIgnoreCase) || + x.Actor.Contains(_search, StringComparison.OrdinalIgnoreCase)) && + (_category == "all" || + x.Category.ToString().Equals(_category, StringComparison.OrdinalIgnoreCase)) && + (_period == "all" || + (int.TryParse(_period, out var days) && + x.Timestamp >= PreviewDate.AddDays(-days)))) + .OrderByDescending(x => x.Timestamp); + + private void SelectEvent(ActivityPreview item) => _selectedEvent = item; + + private static string GetIcon(ActivityCategory category) => category switch + { + ActivityCategory.Identity => Icons.Material.Filled.PersonOutline, + ActivityCategory.Session => Icons.Material.Filled.Devices, + ActivityCategory.Authorization => Icons.Material.Filled.Shield, + ActivityCategory.Security => Icons.Material.Filled.Security, + _ => Icons.Material.Outlined.Info + }; + + private static Color GetColor(ActivityCategory category) => category switch + { + ActivityCategory.Identity => Color.Primary, + ActivityCategory.Session => Color.Info, + ActivityCategory.Authorization => Color.Secondary, + ActivityCategory.Security => Color.Warning, + _ => Color.Default + }; + + private enum ActivityCategory + { + Identity, + Session, + Authorization, + Security + } + + private sealed record ActivityPreview( + string Title, + string Description, + string Actor, + ActivityCategory Category, + DateTime Timestamp); +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/ActivityPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/ActivityPage.razor.css new file mode 100644 index 00000000..33837d51 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/ActivityPage.razor.css @@ -0,0 +1,290 @@ +.lab-activity-page { + padding: 42px 0 80px; +} + +.lab-activity-heading, +.lab-activity-panel-heading, +.lab-activity-details-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; +} + +.lab-activity-heading { + margin-bottom: 30px; +} + +.lab-activity-eyebrow { + display: block; + margin-bottom: 10px; + color: var(--mud-palette-primary); + font-size: .67rem; + font-weight: 800; + letter-spacing: 1.2px; +} + +.lab-activity-heading h1 { + margin: 0; + font-size: clamp(1.7rem, 3vw, 2.15rem); + font-weight: 800; + letter-spacing: -1px; +} + +.lab-activity-heading p, +.lab-activity-panel-heading p, +.lab-activity-details-heading p { + margin: 8px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .83rem; + line-height: 1.6; +} + +.lab-activity-stats { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 18px; + margin-bottom: 24px; +} + +.lab-activity-stat, +.lab-activity-panel, +.lab-activity-details { + background: var(--mud-palette-surface); + border: 1px solid var(--mud-palette-lines-default); + border-radius: 16px; +} + +.lab-activity-stat { + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 23px; +} + + .lab-activity-stat > .mud-icon-root { + color: var(--mud-palette-primary); + } + + .lab-activity-stat > span { + margin-top: 16px; + color: var(--mud-palette-text-secondary); + font-size: .77rem; + } + + .lab-activity-stat strong { + margin-top: 5px; + font-size: 1.5rem; + font-weight: 800; + } + + .lab-activity-stat small { + margin-top: 5px; + color: var(--mud-palette-text-secondary); + font-size: .72rem; + } + +.lab-activity-panel { + overflow: hidden; +} + +.lab-activity-panel-heading { + align-items: center; + padding: 25px; +} + + .lab-activity-panel-heading h2, + .lab-activity-details-heading h2 { + margin: 0; + font-size: 1.05rem; + font-weight: 750; + } + +.lab-activity-toolbar { + display: flex; + gap: 14px; + padding: 0 25px 23px; +} + +.lab-activity-search { + flex: 1; + min-width: 0; +} + +.lab-activity-filter { + width: 170px; + flex-shrink: 0; +} + +.lab-activity-panel ::deep .lab-activity-table { + background: transparent; + box-shadow: none; +} + +.lab-activity-panel ::deep .mud-table-head { + background: var(--mud-palette-background-gray); +} + +.lab-activity-panel ::deep .mud-table-cell { + padding: 15px 20px; + border-color: var(--mud-palette-lines-default); +} + +.lab-activity-event { + display: flex; + align-items: center; + gap: 13px; + min-width: 210px; +} + +.lab-activity-event-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 38px; + height: 38px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-activity-event > div { + display: flex; + flex-direction: column; + gap: 5px; + min-width: 0; +} + +.lab-activity-event strong { + font-size: .82rem; + font-weight: 700; +} + +.lab-activity-event span, +.lab-activity-date, +.lab-activity-actor { + color: var(--mud-palette-text-secondary); + font-size: .74rem; + line-height: 1.5; +} + +.lab-activity-actions { + display: flex; + justify-content: flex-end; +} + +.lab-activity-empty { + display: flex; + flex-direction: column; + align-items: center; + gap: 9px; + padding: 45px 15px; +} + + .lab-activity-empty strong { + font-size: .88rem; + } + + .lab-activity-empty p { + margin: 0; + color: var(--mud-palette-text-secondary); + font-size: .76rem; + } + +.lab-activity-details { + margin-top: 22px; + padding: 25px; +} + +.lab-activity-detail-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 18px; + margin-top: 25px; +} + + .lab-activity-detail-grid > div { + display: flex; + flex-direction: column; + gap: 7px; + } + + .lab-activity-detail-grid span { + color: var(--mud-palette-text-secondary); + font-size: .73rem; + } + + .lab-activity-detail-grid strong { + font-size: .83rem; + font-weight: 700; + overflow-wrap: anywhere; + } + +.lab-activity-detail-description { + margin: 22px 0 0; + padding-top: 18px; + border-top: 1px solid var(--mud-palette-lines-default); + color: var(--mud-palette-text-secondary); + font-size: .8rem; + line-height: 1.7; +} + +@media (max-width: 900px) { + .lab-activity-toolbar { + flex-wrap: wrap; + } + + .lab-activity-search { + flex-basis: 100%; + } + + .lab-activity-filter { + flex: 1; + } +} + +@media (max-width: 760px) { + .lab-activity-page { + padding: 28px 0 52px; + } + + .lab-activity-heading, + .lab-activity-panel-heading { + flex-direction: column; + } + + .lab-activity-stats { + grid-template-columns: 1fr; + gap: 12px; + } + + .lab-activity-panel-heading { + padding: 20px; + } + + .lab-activity-toolbar { + flex-direction: column; + padding: 0 20px 20px; + } + + .lab-activity-search, + .lab-activity-filter { + width: 100%; + flex: auto; + } + + .lab-activity-panel ::deep .mud-table-cell { + padding: 12px 16px; + } +} + +@media (max-width: 480px) { + .lab-activity-details { + padding: 20px; + } + + .lab-activity-detail-grid { + grid-template-columns: 1fr; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor new file mode 100644 index 00000000..84b66f54 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor @@ -0,0 +1,337 @@ +@page "/dashboard/authorization" +@layout DashboardLayout + +@* TODO: Enable sandbox-scoped authorization. +@attribute [UAuthAuthorize] +*@ + +Authorization · Identity Lab + +
+ + +
+
+ SANDBOX MANAGEMENT +

Authorization

+

+ Explore roles, permission assignments, + and access control within your sandbox. +

+
+ + + Create Role + +
+ +
+
+ + + + Roles + @_roles.Count + Example sandbox roles +
+ +
+ + + + Permissions + @_permissions.Count + Illustrative permissions +
+ +
+ + + + Role Assignments + 3 + Example assignments +
+
+ +
+
+

Roles & Permissions

+

+ Select a role to inspect its assigned permissions. +

+
+ + + Demo Preview + +
+ +
+ +
+
+
+

Sandbox Roles

+

Available authorization roles.

+
+ +
+ +
+ @foreach (var role in _roles) + { + + } +
+
+ +
+
+
+

@SelectedRole.Name Permissions

+

Permissions assigned to this example role.

+
+ + + Edit + +
+ + + +
+ @foreach (var permission in FilteredPermissions) + { +
+ + + + +
+ @permission.Name + @permission.Description +
+ + + @(SelectedRole.PermissionIds.Contains(permission.Id) + ? "Granted" + : "Not granted") + +
+ } + + @if (!FilteredPermissions.Any()) + { +
+ No permissions match your search. +
+ } +
+
+
+ +
+
+ AUTHORIZATION EXPLORER +

Policy Playground

+

+ Preview how role selection and access requests + can be evaluated. +

+
+
+ +
+ +
+
+
+

Access Request

+

Configure an example authorization request.

+
+ +
+ +
+ + @foreach (var role in _roles) + { + + @role.Name + + } + + + + @foreach (var permission in _permissions) + { + + @permission.Name + + } + + + + Evaluate Policy + +
+
+ +
+
+
+

Evaluation Result

+

Live authorization decisions will appear here.

+
+ +
+ +
+ + + + Ready to evaluate +

+ Connect UltimateAuth authorization to inspect + actual access decisions for sandbox users. +

+
+ + + A role's permission list alone does not guarantee + an authorization decision. Policies and context + may also affect the result. + +
+ +
+ +
+
+ +@code { + private string _permissionSearch = string.Empty; + private string _playgroundRoleId = "owner"; + private string _playgroundPermissionId = "users.query"; + + private readonly List _permissions = + [ + new("users.query", "users.query.self", "View own user information"), + new("users.manage", "users.update.admin", "Manage sandbox users"), + new("sessions.query", "sessions.query.self", "Inspect own sessions"), + new("sessions.revoke", "sessions.revoke.self", "Revoke own sessions"), + new("roles.manage", "roles.update.admin", "Manage role assignments"), + new("credentials.update", "credentials.update.self", "Update own credentials") + ]; + + private readonly List _roles = + [ + new( + "owner", + "Owner", + "Sandbox administration", + 1, + true, + ["users.query", "users.manage", "sessions.query", + "sessions.revoke", "roles.manage", "credentials.update"] + ), + new( + "member", + "Member", + "Personal identity access", + 2, + false, + ["users.query", "sessions.query", + "sessions.revoke", "credentials.update"] + ) + ]; + + private RolePreview SelectedRole => + _roles.First(x => x.Id == _selectedRoleId); + + private string _selectedRoleId = "owner"; + + private IEnumerable FilteredPermissions => + _permissions.Where(x => + string.IsNullOrWhiteSpace(_permissionSearch) || + x.Name.Contains(_permissionSearch, StringComparison.OrdinalIgnoreCase) || + x.Description.Contains(_permissionSearch, StringComparison.OrdinalIgnoreCase)); + + private void SelectRole(RolePreview role) + { + _selectedRoleId = role.Id; + } + + private sealed record PermissionPreview( + string Id, + string Name, + string Description); + + private sealed record RolePreview( + string Id, + string Name, + string Description, + int MemberCount, + bool IsOwner, + string[] PermissionIds); +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor.css new file mode 100644 index 00000000..ed4dcef6 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor.css @@ -0,0 +1,324 @@ +.lab-authz-page { + padding: 42px 0 80px; +} + +.lab-authz-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; + margin-bottom: 30px; +} + +.lab-authz-eyebrow { + display: block; + margin-bottom: 10px; + color: var(--mud-palette-primary); + font-size: .67rem; + font-weight: 800; + letter-spacing: 1.2px; +} + +.lab-authz-heading h1 { + margin: 0; + font-size: clamp(1.7rem, 3vw, 2.15rem); + font-weight: 800; + letter-spacing: -1px; +} + +.lab-authz-heading p, +.lab-authz-section-heading p { + margin: 8px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .84rem; + line-height: 1.6; +} + +.lab-authz-stats { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 18px; + margin-bottom: 24px; +} + +.lab-authz-stat, +.lab-authz-card { + background: var(--mud-palette-surface); + border: 1px solid var(--mud-palette-lines-default); + border-radius: 16px; +} + +.lab-authz-stat { + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 23px; +} + +.lab-authz-stat-icon, +.lab-authz-role-icon, +.lab-authz-permission-icon, +.lab-authz-result-empty > span { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 43px; + height: 43px; + border-radius: 12px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-authz-stat > span:nth-child(2) { + margin-top: 17px; + color: var(--mud-palette-text-secondary); + font-size: .76rem; +} + +.lab-authz-stat strong { + margin-top: 5px; + font-size: 1.5rem; + font-weight: 800; +} + +.lab-authz-stat small { + margin-top: 5px; + color: var(--mud-palette-text-secondary); + font-size: .72rem; +} + +.lab-authz-section-heading { + margin: 34px 0 19px; +} + + .lab-authz-section-heading h2 { + margin: 0; + font-size: 1.15rem; + font-weight: 750; + letter-spacing: -.4px; + } + +.lab-authz-main-grid { + display: grid; + grid-template-columns: minmax(280px, .8fr) minmax(0, 1.4fr); + gap: 20px; + align-items: start; +} + +.lab-authz-card { + min-width: 0; + padding: 25px; +} + +.lab-authz-card-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 14px; + margin-bottom: 23px; +} + + .lab-authz-card-heading h3 { + margin: 0; + font-size: 1rem; + font-weight: 750; + } + + .lab-authz-card-heading p { + margin: 5px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .76rem; + line-height: 1.5; + } + +.lab-authz-role-list { + display: flex; + flex-direction: column; + gap: 10px; +} + +.lab-authz-role { + display: flex; + align-items: center; + gap: 13px; + width: 100%; + padding: 15px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; + background: transparent; + color: var(--mud-palette-text-primary); + text-align: left; + cursor: pointer; + transition: border-color .2s ease, background .2s ease; +} + + .lab-authz-role:hover { + border-color: var(--mud-palette-primary); + } + + .lab-authz-role.selected { + border-color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); + } + +.lab-authz-role-content { + display: flex; + flex: 1; + flex-direction: column; + gap: 5px; + min-width: 0; +} + + .lab-authz-role-content strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-authz-role-content small, + .lab-authz-role-content > span { + color: var(--mud-palette-text-secondary); + font-size: .72rem; + line-height: 1.5; + } + +.lab-authz-permission-list { + display: flex; + flex-direction: column; +} + +.lab-authz-permission { + display: flex; + align-items: center; + gap: 12px; + padding: 15px 0; + border-top: 1px solid var(--mud-palette-lines-default); +} + +.lab-authz-permission-icon { + width: 36px; + height: 36px; + border-radius: 10px; +} + +.lab-authz-permission > div { + display: flex; + flex: 1; + flex-direction: column; + gap: 5px; + min-width: 0; +} + +.lab-authz-permission strong { + font-size: .8rem; + font-weight: 700; + overflow-wrap: anywhere; +} + +.lab-authz-permission span { + color: var(--mud-palette-text-secondary); + font-size: .72rem; +} + +.lab-authz-empty { + padding: 35px 10px; + text-align: center; + color: var(--mud-palette-text-secondary); + font-size: .8rem; +} + +.lab-authz-playground-heading { + margin-top: 48px; +} + +.lab-authz-playground-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 20px; + align-items: stretch; +} + +.lab-authz-fields { + display: flex; + flex-direction: column; + gap: 20px; +} + +.lab-authz-result-card { + display: flex; + flex-direction: column; +} + +.lab-authz-result-empty { + display: flex; + flex: 1; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 30px 12px; + text-align: center; +} + + .lab-authz-result-empty > span { + width: 58px; + height: 58px; + border-radius: 17px; + margin-bottom: 18px; + } + + .lab-authz-result-empty strong { + font-size: .92rem; + font-weight: 750; + } + + .lab-authz-result-empty p { + max-width: 290px; + margin: 9px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .77rem; + line-height: 1.7; + } + +@media (max-width: 1100px) { + .lab-authz-main-grid { + grid-template-columns: 1fr; + } +} + +@media (max-width: 760px) { + .lab-authz-page { + padding: 28px 0 52px; + } + + .lab-authz-heading { + flex-direction: column; + } + + .lab-authz-stats, + .lab-authz-playground-grid { + grid-template-columns: 1fr; + gap: 12px; + } + + .lab-authz-section-heading { + margin-top: 30px; + } + + .lab-authz-playground-heading { + margin-top: 36px; + } +} + +@media (max-width: 600px) { + .lab-authz-card { + padding: 20px; + } + + .lab-authz-permission { + flex-wrap: wrap; + } + + .lab-authz-role { + padding: 12px; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyAccessPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyAccessPage.razor new file mode 100644 index 00000000..4a7af9ae --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyAccessPage.razor @@ -0,0 +1,290 @@ +@page "/dashboard/access" +@layout DashboardLayout + +@* TODO: Enable after authentication integration. +@attribute [UAuthAuthorize] +*@ + +My Access · Identity Lab + +
+ + +
+
+ PERSONAL AUTHORIZATION +

My Access

+

+ Explore your roles, effective permissions, + and how UltimateAuth evaluates access. +

+
+ + + Demo Preview + +
+ +
+
+ + + + Assigned Roles + 1 + Example role assignment +
+ +
+ + + + Effective Permissions + 4 + Illustrative permission set +
+ +
+ + + + Access Context + Member + Example sandbox role +
+
+ +
+ +
+
+
+

My Roles

+

Roles assigned to your identity.

+
+ +
+ +
+ + + + +
+ Member + Example sandbox membership role +
+ + + Assigned + +
+ + + Your roles determine which operations you may + perform, together with the applicable policies + and authorization context. + +
+ +
+
+
+

Effective Permissions

+

Example permissions available to your identity.

+
+ +
+ +
+ @foreach (var permission in _permissions) + { +
+ + + + +
+ @permission.Name + @permission.Description +
+ + + Allowed + +
+ } +
+
+
+ +
+ INTERACTIVE AUTHORIZATION +

Authorization Playground

+

+ Choose a resource and operation to explore + how access decisions work. +

+
+ +
+ +
+
+
+

Access Request

+

Configure an authorization check.

+
+ +
+ +
+ + Users + Sessions + Credentials + + + + Query + Create + Update + Revoke + + + + + + Evaluate Access + +
+
+ +
+
+
+

Evaluation Result

+

Authorization decision and explanation.

+
+ +
+ +
+ + + + + Ready to evaluate +

+ Live access decisions will appear here once + UltimateAuth authorization is connected. +

+
+ + +
+ +
+ +
+ ULTIMATEAUTH CONCEPTS +

Understanding Access Control

+

+ Three concepts work together to protect resources. +

+
+ +
+
+ + + + Roles +

+ Group authorization responsibilities and + organize access assignments. +

+
+ +
+ + + + Permissions +

+ Represent actions that an identity may be + authorized to perform. +

+
+ +
+ + + + Policies +

+ Evaluate authorization requirements using + the relevant access context. +

+
+
+ +
+
+ +@code { + private string _selectedResource = "users"; + private string _selectedOperation = "query"; + + private readonly List _permissions = + [ + new("users.query.self", "View your own user information"), + new("sessions.query.self", "Inspect your own sessions"), + new("credentials.update.self", "Manage your own credentials"), + new("sessions.revoke.self", "Revoke your own sessions") + ]; + + private sealed record PermissionPreview( + string Name, + string Description); +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyAccessPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyAccessPage.razor.css new file mode 100644 index 00000000..fa1f2767 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyAccessPage.razor.css @@ -0,0 +1,311 @@ +.lab-access-page { + padding: 42px 0 80px; +} + +.lab-access-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; + margin-bottom: 30px; +} + +.lab-access-eyebrow { + display: block; + margin-bottom: 10px; + color: var(--mud-palette-primary); + font-size: .67rem; + font-weight: 800; + letter-spacing: 1.2px; +} + +.lab-access-heading h1 { + margin: 0; + font-size: clamp(1.7rem, 3vw, 2.15rem); + font-weight: 800; + letter-spacing: -1px; +} + +.lab-access-heading p, +.lab-access-section-heading p { + margin: 8px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .84rem; + line-height: 1.6; +} + +.lab-access-stats { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 18px; + margin-bottom: 22px; +} + +.lab-access-stat, +.lab-access-card, +.lab-concept-card { + background: var(--mud-palette-surface); + border: 1px solid var(--mud-palette-lines-default); + border-radius: 16px; +} + +.lab-access-stat { + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 23px; +} + +.lab-access-stat-icon, +.lab-role-icon, +.lab-concept-icon, +.lab-result-empty-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 44px; + height: 44px; + border-radius: 12px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-access-stat > span:nth-child(2) { + margin-top: 18px; + color: var(--mud-palette-text-secondary); + font-size: .77rem; +} + +.lab-access-stat strong { + margin-top: 5px; + font-size: 1.5rem; + font-weight: 800; + letter-spacing: -.5px; +} + +.lab-access-stat small { + margin-top: 5px; + color: var(--mud-palette-text-secondary); + font-size: .72rem; +} + +.lab-access-grid, +.lab-playground-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 20px; + align-items: stretch; +} + +.lab-access-card { + min-width: 0; + padding: 26px; +} + +.lab-access-card-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16px; + margin-bottom: 24px; +} + + .lab-access-card-heading h2 { + margin: 0; + font-size: 1rem; + font-weight: 750; + letter-spacing: -.3px; + } + + .lab-access-card-heading p { + margin: 5px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .76rem; + line-height: 1.5; + } + +.lab-role-item, +.lab-permission-item { + display: flex; + align-items: center; + gap: 13px; + padding: 17px 0; + border-top: 1px solid var(--mud-palette-lines-default); +} + + .lab-role-item > div, + .lab-permission-item > div { + display: flex; + flex: 1; + flex-direction: column; + gap: 5px; + min-width: 0; + } + + .lab-role-item strong, + .lab-permission-item strong { + font-size: .82rem; + font-weight: 700; + overflow-wrap: anywhere; + } + + .lab-role-item span, + .lab-permission-item span { + color: var(--mud-palette-text-secondary); + font-size: .72rem; + } + +.lab-permission-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 30px; + height: 30px; + border-radius: 9px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-access-section-heading { + margin: 48px 0 20px; +} + + .lab-access-section-heading h2 { + margin: 0; + font-size: 1.15rem; + font-weight: 750; + letter-spacing: -.4px; + } + +.lab-playground-fields { + display: flex; + flex-direction: column; + gap: 20px; +} + +.lab-result-card { + display: flex; + flex-direction: column; +} + +.lab-result-empty { + display: flex; + flex: 1; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 32px 12px; + text-align: center; +} + +.lab-result-empty-icon { + width: 58px; + height: 58px; + border-radius: 17px; + margin-bottom: 18px; +} + +.lab-result-empty strong { + font-size: .92rem; + font-weight: 750; +} + +.lab-result-empty p { + max-width: 290px; + margin: 9px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .77rem; + line-height: 1.7; +} + +.lab-result-footer { + display: flex; + align-items: flex-start; + gap: 9px; + padding-top: 17px; + border-top: 1px solid var(--mud-palette-lines-default); + color: var(--mud-palette-text-secondary); + font-size: .72rem; + line-height: 1.6; +} + + .lab-result-footer .mud-icon-root { + flex-shrink: 0; + } + +.lab-model-heading { + margin-top: 48px; +} + +.lab-access-concepts { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 18px; +} + +.lab-concept-card { + padding: 25px; +} + + .lab-concept-card strong { + display: block; + margin-top: 20px; + font-size: .93rem; + font-weight: 750; + } + + .lab-concept-card p { + margin: 9px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .77rem; + line-height: 1.7; + } + +@media (max-width: 960px) { + .lab-access-grid, + .lab-playground-grid { + grid-template-columns: 1fr; + } +} + +@media (max-width: 760px) { + .lab-access-page { + padding: 28px 0 52px; + } + + .lab-access-heading { + flex-direction: column; + } + + .lab-access-stats { + grid-template-columns: 1fr; + gap: 12px; + } + + .lab-access-concepts { + grid-template-columns: 1fr; + gap: 12px; + } + + .lab-access-section-heading { + margin-top: 36px; + } +} + +@media (max-width: 600px) { + .lab-access-card, + .lab-concept-card { + padding: 20px; + } + + .lab-role-item, + .lab-permission-item { + flex-wrap: wrap; + } + + .lab-result-empty { + padding: 25px 8px; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor new file mode 100644 index 00000000..6006a4d9 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor @@ -0,0 +1,303 @@ +@page "/dashboard/identity" +@layout DashboardLayout + +@* TODO: Enable after authentication integration. +@attribute [UAuthAuthorize] +*@ + +My Identity · Identity Lab + +
+ + +
+
+ PERSONAL WORKSPACE +

My Identity

+

+ Explore your account, sign-in identifiers, + and credential security. +

+
+ + + Demo Preview + +
+ +
+ +
+ +
+ +
+
+

Profile

+

Your account information.

+
+ + +
+ +
+ + + + +
+ Sandbox User + @@demo-user +
+ + + + + Active + +
+ +
+
+ Display name + Sandbox User +
+ +
+ Username + demo-user +
+ +
+ Email + demo@example.com +
+ +
+ Account status + Active +
+
+ + + Edit Profile + +
+ +
+ +
+
+

Sign-in Identifiers

+

+ Identifiers associated with your account. +

+
+ + +
+ +
+ +
+ + + + +
+ demo@example.com + Email address +
+ + + Verified + +
+ +
+ + + + +
+ demo-user + Username +
+ + + Primary + +
+ +
+ + + Add Identifier + + +
+
+ +
+ +
+ +
+
+

Credentials & Security

+

+ Manage how you authenticate. +

+
+ + +
+ +
+ + + + +
+ Password +

+ Update the secret used to sign in. +

+
+ + + Change + +
+ +
+ + + + +
+ Device Sessions +

+ Review and revoke your sessions. +

+
+ + +
+ +
+ + + + +
+ My Authorization +

+ Inspect your assigned roles and permissions. +

+
+ + +
+ +
+ +
+ +
+
+

Authentication Context

+

+ Understand your UltimateAuth identity. +

+
+ + +
+ +
+
+ + + + +
+ Identity + Your authenticated account +
+
+ +
+ +
+ + + + +
+ Authentication Chain + Explore your authentication lifecycle +
+
+ +
+ +
+ + + + +
+ Sessions + Manage active device sessions +
+
+
+ + + This is an illustrative overview. + Live authentication data will appear after integration. + + +
+ +
+
+ +
+
diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor.css new file mode 100644 index 00000000..33021912 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor.css @@ -0,0 +1,240 @@ +.lab-identity-page { + padding: 42px 0 80px; +} + +.lab-identity-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; + margin-bottom: 32px; +} + +.lab-identity-eyebrow { + display: block; + margin-bottom: 10px; + color: var(--mud-palette-primary); + font-size: .67rem; + font-weight: 800; + letter-spacing: 1.2px; +} + +.lab-identity-header h1 { + margin: 0; + font-size: clamp(1.7rem, 3vw, 2.15rem); + font-weight: 800; + letter-spacing: -1px; +} + +.lab-identity-header p { + margin: 9px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .85rem; + line-height: 1.6; +} + +.lab-identity-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 22px; + align-items: start; +} + +.lab-identity-column { + display: flex; + flex-direction: column; + gap: 22px; + min-width: 0; +} + +.lab-identity-card { + padding: 26px; + background: var(--mud-palette-surface); + border: 1px solid var(--mud-palette-lines-default); + border-radius: 17px; +} + +.lab-card-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 16px; + margin-bottom: 24px; +} + + .lab-card-header h2 { + margin: 0; + font-size: 1rem; + font-weight: 750; + letter-spacing: -.3px; + } + + .lab-card-header p { + margin: 5px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .76rem; + line-height: 1.5; + } + +.lab-identity-profile { + display: flex; + align-items: center; + gap: 14px; + margin-bottom: 23px; +} + + .lab-identity-profile > div:nth-child(2), + .lab-identifier-info { + display: flex; + flex-direction: column; + gap: 5px; + min-width: 0; + } + + .lab-identity-profile strong, + .lab-identifier-info strong { + font-size: .85rem; + font-weight: 700; + overflow-wrap: anywhere; + } + + .lab-identity-profile span, + .lab-identifier-info span { + color: var(--mud-palette-text-secondary); + font-size: .73rem; + } + +.lab-identity-details { + margin-bottom: 20px; +} + +.lab-identity-detail { + display: flex; + justify-content: space-between; + gap: 15px; + padding: 13px 0; + border-top: 1px solid var(--mud-palette-lines-default); + font-size: .8rem; +} + + .lab-identity-detail > span { + color: var(--mud-palette-text-secondary); + } + + .lab-identity-detail strong { + font-weight: 650; + text-align: right; + overflow-wrap: anywhere; + } + +.lab-identifier-list { + margin-bottom: 22px; +} + +.lab-identifier-item { + display: flex; + align-items: center; + gap: 13px; + padding: 16px 0; + border-top: 1px solid var(--mud-palette-lines-default); +} + +.lab-identifier-info { + flex: 1; +} + +.lab-identifier-icon, +.lab-security-icon, +.lab-auth-context-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 42px; + height: 42px; + border-radius: 12px; + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); +} + +.lab-security-item { + display: flex; + align-items: center; + gap: 14px; + padding: 20px 0; + border-top: 1px solid var(--mud-palette-lines-default); +} + + .lab-security-item > div:nth-child(2) { + flex: 1; + min-width: 0; + } + + .lab-security-item strong { + font-size: .83rem; + font-weight: 700; + } + + .lab-security-item p { + margin: 5px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .73rem; + line-height: 1.5; + } + +.lab-auth-context { + padding: 8px 0; +} + +.lab-auth-context-node { + display: flex; + align-items: center; + gap: 13px; +} + + .lab-auth-context-node > div:last-child { + display: flex; + flex-direction: column; + gap: 5px; + } + + .lab-auth-context-node strong { + font-size: .82rem; + font-weight: 700; + } + + .lab-auth-context-node span { + color: var(--mud-palette-text-secondary); + font-size: .72rem; + } + +.lab-auth-context-connector { + width: 2px; + height: 24px; + margin: 5px 0 5px 20px; + background: var(--mud-palette-lines-default); +} + +@media (max-width: 960px) { + .lab-identity-grid { + grid-template-columns: 1fr; + } +} + +@media (max-width: 600px) { + .lab-identity-page { + padding: 28px 0 52px; + } + + .lab-identity-header { + flex-direction: column; + } + + .lab-identity-card { + padding: 20px; + } + + .lab-security-item { + gap: 10px; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor new file mode 100644 index 00000000..3499c246 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor @@ -0,0 +1,370 @@ +@page "/dashboard/sessions" +@layout DashboardLayout + +@* TODO: Enable after authentication integration. +@attribute [UAuthAuthorize] +*@ + +My Sessions · Identity Lab + +
+ + +
+
+ PERSONAL SECURITY +

My Sessions

+

+ Explore your devices, authentication sessions, + and the UltimateAuth session lifecycle. +

+
+ + + Demo Preview + +
+ +
+
+ + + + Active sessions + 2 + Example session count +
+ +
+ + + + Authentication chains + 2 + Illustrative chains +
+ +
+ + + + Security status + Active + Example state +
+
+ +
+
+

Active Devices

+

+ Sessions associated with your identity. +

+
+ + + Revoke Other Sessions + +
+ +
+ +
+ + + + +
+
+ Windows · Chrome + + + Current Device + +
+ +

Example desktop session

+ +
+ + + Active now (example) + + + + Password authentication + +
+
+ + + Details + +
+ +
+ + + + +
+
+ Mobile · Safari + + + Remote Session + +
+ +

Example mobile session

+ +
+ + + Recently active (example) + + + + Password authentication + +
+
+ + + Revoke + +
+ +
+ +
+
+ ULTIMATEAUTH ARCHITECTURE +

Authentication Hierarchy

+

+ Understand the relationship between authentication + roots, chains, and sessions. +

+
+
+ +
+ +
+ +
+

Session Structure

+ +
+ +
+ +
+ + + + +
+ Authentication Root + Example authentication origin +
+ + + Active + +
+ +
+ +
+ + + + +
+ Chain A + Example desktop chain +
+
+ +
+ + +
+ Session A1 + Windows · Chrome +
+ + + Current + +
+ +
+ + + + +
+ Chain B + Example mobile chain +
+
+ +
+ + +
+ Session B1 + Mobile · Safari +
+
+ +
+
+ +
+ +
+ +
+

How It Works

+ +
+ +
+ +
+ 01 +
+ Root +

+ Represents the origin of an authentication + relationship. +

+
+
+ +
+ 02 +
+ Chain +

+ Groups related authentication activity + within a lifecycle. +

+
+
+ +
+ 03 +
+ Session +

+ Represents a session that can be inspected + and managed according to its security context. +

+
+
+ +
+ + + This hierarchy is illustrative. The actual structure + depends on the authentication mode and session lifecycle. + + +
+ +
+ +
+
+

Session Security

+

+ Manage your authentication lifecycle and device access. +

+
+
+ +
+ +
+ + + +
+ Revoke other sessions +

+ End other device sessions while keeping + your current session. +

+
+ + Revoke Others + +
+ +
+ + + +
+ Sign out +

+ End your current authenticated session. +

+
+ + Sign Out + +
+ +
+ +
+
diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor.css new file mode 100644 index 00000000..dd58731e --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor.css @@ -0,0 +1,404 @@ +.lab-sessions-page { + padding: 42px 0 80px; +} + +.lab-sessions-heading, +.lab-sessions-section-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; +} + +.lab-sessions-heading { + margin-bottom: 30px; +} + +.lab-sessions-eyebrow { + display: block; + margin-bottom: 10px; + color: var(--mud-palette-primary); + font-size: .67rem; + font-weight: 800; + letter-spacing: 1.2px; +} + +.lab-sessions-heading h1 { + margin: 0; + font-size: clamp(1.7rem, 3vw, 2.15rem); + font-weight: 800; + letter-spacing: -1px; +} + +.lab-sessions-heading p, +.lab-sessions-section-heading p { + margin: 8px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .83rem; + line-height: 1.6; +} + +.lab-sessions-section-heading { + align-items: center; + margin: 34px 0 19px; +} + + .lab-sessions-section-heading h2 { + margin: 0; + font-size: 1.12rem; + font-weight: 750; + letter-spacing: -.4px; + } + +.lab-sessions-stats { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 18px; +} + +.lab-session-stat, +.lab-sessions-panel, +.lab-device-card, +.lab-session-actions { + background: var(--mud-palette-surface); + border: 1px solid var(--mud-palette-lines-default); + border-radius: 16px; +} + +.lab-session-stat { + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 23px; +} + +.lab-session-stat-icon, +.lab-device-icon, +.lab-session-action-icon, +.lab-tree-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 44px; + height: 44px; + border-radius: 12px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-session-stat > span:nth-child(2) { + margin-top: 18px; + font-size: .77rem; + color: var(--mud-palette-text-secondary); +} + +.lab-session-stat strong { + margin-top: 5px; + font-size: 1.5rem; + font-weight: 800; + letter-spacing: -.5px; +} + +.lab-session-stat small { + margin-top: 5px; + font-size: .72rem; + color: var(--mud-palette-text-secondary); +} + +.lab-device-list { + display: flex; + flex-direction: column; + gap: 13px; +} + +.lab-device-card { + display: flex; + align-items: center; + gap: 20px; + padding: 23px; +} + +.lab-device-main { + flex: 1; + min-width: 0; +} + +.lab-device-title { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 10px; +} + + .lab-device-title strong { + font-size: .92rem; + font-weight: 750; + } + +.lab-device-main > p { + margin: 5px 0 12px; + color: var(--mud-palette-text-secondary); + font-size: .76rem; +} + +.lab-device-meta { + display: flex; + flex-wrap: wrap; + gap: 8px 20px; +} + + .lab-device-meta span { + display: inline-flex; + align-items: center; + gap: 5px; + color: var(--mud-palette-text-secondary); + font-size: .72rem; + } + +.lab-sessions-hierarchy-heading { + margin-top: 48px; +} + +.lab-hierarchy-layout { + display: grid; + grid-template-columns: 1.15fr 1fr; + gap: 20px; + align-items: stretch; +} + +.lab-sessions-panel { + min-width: 0; + padding: 26px; +} + +.lab-panel-title { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + margin-bottom: 26px; +} + + .lab-panel-title h3 { + margin: 0; + font-size: .98rem; + font-weight: 750; + } + +.lab-hierarchy-tree { + padding: 4px 0; +} + +.lab-tree-node, +.lab-tree-leaf { + display: flex; + align-items: center; + gap: 12px; + min-width: 0; +} + + .lab-tree-node > div, + .lab-tree-leaf > div { + display: flex; + flex: 1; + flex-direction: column; + gap: 4px; + min-width: 0; + } + + .lab-tree-node strong, + .lab-tree-leaf strong { + font-size: .82rem; + font-weight: 700; + } + + .lab-tree-node span, + .lab-tree-leaf span { + font-size: .71rem; + color: var(--mud-palette-text-secondary); + } + +.lab-tree-root { + padding: 12px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; +} + +.lab-tree-branch { + margin: 0 0 0 32px; + padding: 20px 0 0 24px; + border-left: 2px solid var(--mud-palette-lines-default); +} + + .lab-tree-branch > .lab-tree-node { + position: relative; + margin-bottom: 12px; + } + + .lab-tree-branch > .lab-tree-node::before { + content: ""; + position: absolute; + left: -24px; + top: 22px; + width: 20px; + height: 2px; + background: var(--mud-palette-lines-default); + } + +.lab-tree-leaf { + margin: 0 0 25px 21px; + padding: 13px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); +} + + .lab-tree-leaf:last-child { + margin-bottom: 0; + } + +.lab-explanation-list { + display: flex; + flex-direction: column; + gap: 23px; +} + +.lab-explanation-item { + display: flex; + align-items: flex-start; + gap: 14px; +} + +.lab-explanation-number { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 35px; + height: 35px; + border-radius: 10px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); + font-size: .72rem; + font-weight: 800; +} + +.lab-explanation-item strong { + font-size: .85rem; + font-weight: 750; +} + +.lab-explanation-item p { + margin: 5px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .76rem; + line-height: 1.65; +} + +.lab-sessions-security-heading { + margin-top: 48px; +} + +.lab-session-actions { + overflow: hidden; +} + +.lab-session-action { + display: flex; + align-items: center; + gap: 17px; + padding: 22px 25px; +} + + .lab-session-action + .lab-session-action { + border-top: 1px solid var(--mud-palette-lines-default); + } + + .lab-session-action > div:nth-child(2) { + flex: 1; + min-width: 0; + } + + .lab-session-action strong { + font-size: .86rem; + font-weight: 750; + } + + .lab-session-action p { + margin: 5px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .75rem; + line-height: 1.5; + } + +@media (max-width: 1100px) { + .lab-hierarchy-layout { + grid-template-columns: 1fr; + } +} + +@media (max-width: 760px) { + .lab-sessions-page { + padding: 28px 0 52px; + } + + .lab-sessions-heading, + .lab-sessions-section-heading { + flex-direction: column; + align-items: flex-start; + } + + .lab-sessions-stats { + grid-template-columns: 1fr; + gap: 12px; + } + + .lab-device-card { + flex-wrap: wrap; + gap: 14px; + padding: 19px; + } + + .lab-device-main { + flex-basis: calc(100% - 65px); + } + + .lab-device-card > .mud-button { + margin-left: auto; + } + + .lab-session-action { + flex-wrap: wrap; + padding: 20px; + } + + .lab-session-action > div:nth-child(2) { + flex-basis: calc(100% - 65px); + } + + .lab-session-action > .mud-button { + margin-left: auto; + } +} + +@media (max-width: 480px) { + .lab-sessions-panel { + padding: 18px; + } + + .lab-tree-branch { + margin-left: 16px; + padding-left: 16px; + } + + .lab-tree-branch > .lab-tree-node::before { + left: -16px; + width: 13px; + } + + .lab-tree-leaf { + margin-left: 8px; + padding: 10px; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/SettingsPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/SettingsPage.razor new file mode 100644 index 00000000..78af858c --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/SettingsPage.razor @@ -0,0 +1,285 @@ +@page "/dashboard/settings" +@layout DashboardLayout + +@* TODO: Enable sandbox-owner authorization. +@attribute [UAuthAuthorize] +*@ + +Sandbox Settings · Identity Lab + +
+ + +
+
+ SANDBOX MANAGEMENT +

Sandbox Settings

+

+ Review your sandbox configuration, + membership limits, and security boundaries. +

+
+ + + Demo Preview + +
+ +
+ +
+ +
+
+
+

General

+

Basic information about your sandbox.

+
+ +
+ +
+ + + + + + + + Save Changes + +
+
+ +
+
+
+

Membership & Capacity

+

Available identities in this environment.

+
+ +
+ +
+
+ Occupied user slots + 3 / 4 +
+ + + +

+ Your sandbox supports up to four accounts, + including the owner. +

+
+ +
+ Maximum Users + 4 +
+ +
+ Available Slots + 1 +
+ +
+ Membership Model + Owner + Members +
+ + + Manage Users + +
+ +
+ +
+ +
+
+
+

Security Boundaries

+

Rules that protect sandbox isolation.

+
+ +
+ +
+ +
+ + + +
+ Private Sandbox +

+ Users and resources are scoped to + their own sandbox. +

+
+ +
+ +
+ + + +
+ Scoped Administration +

+ Owners manage only identities and + resources within their sandbox. +

+
+ +
+ +
+ + + +
+ Membership Limit +

+ A maximum of four accounts prevents + unrestricted sandbox growth. +

+
+ +
+ +
+ + + These are planned Identity Lab security rules. + They must be enforced server-side before launch. + +
+ +
+
+
+

Environment

+

Information about this Identity Lab instance.

+
+ +
+ +
+ Platform + UltimateAuth +
+ +
+ Application + Identity Lab +
+ +
+ Hosting Model + Blazor Server +
+ +
+ Source + + GitHub Repository + +
+
+ +
+ +
+ +
+
+
+

Danger Zone

+

Destructive operations affecting your sandbox.

+
+ +
+ +
+
+ Reset Sandbox +

+ Remove sandbox-created resources and restore + the environment to its initial configuration. +

+
+ + + Reset Sandbox + +
+ +
+
+ Delete Sandbox +

+ Permanently delete the sandbox and its associated + application resources. +

+
+ + + Delete Sandbox + +
+
+ +
+
diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/SettingsPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/SettingsPage.razor.css new file mode 100644 index 00000000..06c76b0d --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/SettingsPage.razor.css @@ -0,0 +1,240 @@ +.lab-settings-page { + padding: 42px 0 80px; +} + +.lab-settings-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; + margin-bottom: 30px; +} + +.lab-settings-eyebrow { + display: block; + margin-bottom: 10px; + color: var(--mud-palette-primary); + font-size: .67rem; + font-weight: 800; + letter-spacing: 1.2px; +} + +.lab-settings-heading h1 { + margin: 0; + font-size: clamp(1.7rem, 3vw, 2.15rem); + font-weight: 800; + letter-spacing: -1px; +} + +.lab-settings-heading p { + margin: 9px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .84rem; + line-height: 1.6; +} + +.lab-settings-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 22px; + align-items: start; +} + +.lab-settings-column { + display: flex; + flex-direction: column; + gap: 22px; + min-width: 0; +} + +.lab-settings-card { + padding: 26px; + background: var(--mud-palette-surface); + border: 1px solid var(--mud-palette-lines-default); + border-radius: 17px; +} + +.lab-settings-card-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 15px; + margin-bottom: 24px; +} + + .lab-settings-card-heading h2 { + margin: 0; + font-size: 1rem; + font-weight: 750; + letter-spacing: -.3px; + } + + .lab-settings-card-heading p { + margin: 5px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .76rem; + line-height: 1.6; + } + +.lab-settings-fields { + display: flex; + flex-direction: column; + gap: 20px; +} + + .lab-settings-fields > .mud-button { + align-self: flex-start; + } + +.lab-settings-capacity { + padding: 18px; + margin-bottom: 15px; + border-radius: 12px; + background: var(--mud-palette-background); +} + +.lab-settings-capacity-header { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + + .lab-settings-capacity-header span { + color: var(--mud-palette-text-secondary); + font-size: .77rem; + } + + .lab-settings-capacity-header strong { + font-size: .94rem; + font-weight: 800; + } + +.lab-settings-capacity p { + margin: 0; + color: var(--mud-palette-text-secondary); + font-size: .73rem; + line-height: 1.6; +} + +.lab-settings-detail-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 15px; + padding: 15px 0; + border-top: 1px solid var(--mud-palette-lines-default); +} + + .lab-settings-detail-row > span { + color: var(--mud-palette-text-secondary); + font-size: .78rem; + } + + .lab-settings-detail-row strong { + font-size: .8rem; + font-weight: 700; + text-align: right; + } + +.lab-settings-security-list { + display: flex; + flex-direction: column; +} + +.lab-settings-security-item { + display: flex; + align-items: flex-start; + gap: 13px; + padding: 18px 0; + border-top: 1px solid var(--mud-palette-lines-default); +} + +.lab-settings-security-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 40px; + height: 40px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-settings-security-item > div { + flex: 1; + min-width: 0; +} + +.lab-settings-security-item strong { + font-size: .83rem; + font-weight: 700; +} + +.lab-settings-security-item p { + margin: 6px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .73rem; + line-height: 1.6; +} + +.lab-settings-danger { + margin-top: 22px; + border-color: var(--mud-palette-error); +} + + .lab-settings-danger .lab-settings-card-heading h2 { + color: var(--mud-palette-error); + } + +.lab-settings-danger-action { + display: flex; + align-items: center; + justify-content: space-between; + gap: 20px; + padding: 20px 0; + border-top: 1px solid var(--mud-palette-lines-default); +} + + .lab-settings-danger-action > div { + flex: 1; + } + + .lab-settings-danger-action strong { + font-size: .84rem; + font-weight: 700; + } + + .lab-settings-danger-action p { + margin: 6px 0 0; + max-width: 540px; + color: var(--mud-palette-text-secondary); + font-size: .75rem; + line-height: 1.6; + } + +@media (max-width: 960px) { + .lab-settings-grid { + grid-template-columns: 1fr; + } +} + +@media (max-width: 600px) { + .lab-settings-page { + padding: 28px 0 52px; + } + + .lab-settings-heading { + flex-direction: column; + } + + .lab-settings-card { + padding: 20px; + } + + .lab-settings-danger-action { + flex-direction: column; + align-items: flex-start; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor new file mode 100644 index 00000000..7e5fb957 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor @@ -0,0 +1,329 @@ +@page "/dashboard/users" +@layout DashboardLayout + +@* TODO: Enable sandbox-scoped authorization. +@attribute [UAuthAuthorize] +*@ + +Users · Identity Lab + +
+ + +
+
+ SANDBOX MANAGEMENT +

Users

+

+ Manage identities, account status, and + membership within your sandbox. +

+
+ + + Create User + +
+ +
+ +
+
+
+ Sandbox Capacity + @_users.Count / @MaxUsers users +
+ + + Demo Preview + +
+ + + +

+ @_users.Count of @MaxUsers available user slots are + occupied, including the sandbox owner. +

+
+ +
+ + + + Total Users + @_users.Count + Example sandbox members +
+ +
+ + + + Active Users + @_users.Count(x => x.Status == UserStatus.Active) + Example active accounts +
+ +
+ +
+ +
+
+

Sandbox Members

+

+ Browse and manage the identities + belonging to this environment. +

+
+ + + @FilteredUsers.Count() results + +
+ +
+ + + + All statuses + Active + Disabled + +
+ + + + + User + Role + Status + Created + Actions + + + + +
+ + @context.Initials + + +
+ @context.DisplayName + @context.Email + @@@context.Username +
+
+
+ + + + @(context.IsOwner ? "Owner" : "Member") + + + + + + @context.Status + + + + + + @context.CreatedAt.ToString("MMM dd, yyyy") + + + + + + +
+ + +
+ + No users found +

Try changing your search or status filter.

+
+
+ + + + + +
+ +
+ +
+ +
+ + +
+ Sandbox isolation +

+ Members belong to a private sandbox. + User management must be scoped to that sandbox, + including all authorization and data operations. +

+
+
+ + + Explore Authorization + + +
+ +
+
+ +@code { + private const int MaxUsers = 4; + + private string _search = string.Empty; + private string _statusFilter = "all"; + + private double CapacityPercentage => + (double)_users.Count / MaxUsers * 100; + + private IEnumerable FilteredUsers => + _users.Where(user => + { + var matchesSearch = + string.IsNullOrWhiteSpace(_search) || + user.DisplayName.Contains(_search, StringComparison.OrdinalIgnoreCase) || + user.Username.Contains(_search, StringComparison.OrdinalIgnoreCase) || + user.Email.Contains(_search, StringComparison.OrdinalIgnoreCase); + + var matchesStatus = _statusFilter switch + { + "active" => user.Status == UserStatus.Active, + "disabled" => user.Status == UserStatus.Disabled, + _ => true + }; + + return matchesSearch && matchesStatus; + }); + + private readonly List _users = + [ + new( + "Alex Morgan", + "alex", + "alex@example.com", + true, + UserStatus.Active, + new DateTime(2026, 10, 18) + ), + new( + "Taylor Reed", + "taylor", + "taylor@example.com", + false, + UserStatus.Active, + new DateTime(2026, 10, 19) + ), + new( + "Jordan Lee", + "jordan", + "jordan@example.com", + false, + UserStatus.Disabled, + new DateTime(2026, 10, 20) + ) + ]; + + private enum UserStatus + { + Active, + Disabled + } + + private sealed record SandboxUserPreview( + string DisplayName, + string Username, + string Email, + bool IsOwner, + UserStatus Status, + DateTime CreatedAt) + { + public string Initials => + string.Concat( + DisplayName.Split(' ', StringSplitOptions.RemoveEmptyEntries) + .Take(2) + .Select(x => char.ToUpperInvariant(x[0]))); + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor.css new file mode 100644 index 00000000..21c2e2a3 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor.css @@ -0,0 +1,321 @@ +.lab-users-page { + padding: 42px 0 80px; +} + +.lab-users-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; + margin-bottom: 30px; +} + +.lab-users-eyebrow { + display: block; + margin-bottom: 10px; + color: var(--mud-palette-primary); + font-size: .67rem; + font-weight: 800; + letter-spacing: 1.2px; +} + +.lab-users-heading h1 { + margin: 0; + font-size: clamp(1.7rem, 3vw, 2.15rem); + font-weight: 800; + letter-spacing: -1px; +} + +.lab-users-heading p { + margin: 9px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .84rem; + line-height: 1.6; +} + +.lab-users-summary { + display: grid; + grid-template-columns: 2fr 1fr 1fr; + gap: 18px; + margin-bottom: 24px; +} + +.lab-users-capacity, +.lab-users-summary-card, +.lab-users-panel, +.lab-users-info { + background: var(--mud-palette-surface); + border: 1px solid var(--mud-palette-lines-default); + border-radius: 16px; +} + +.lab-users-capacity { + padding: 24px; +} + +.lab-capacity-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; +} + + .lab-capacity-heading > div { + display: flex; + flex-direction: column; + gap: 7px; + } + + .lab-capacity-heading span { + color: var(--mud-palette-text-secondary); + font-size: .77rem; + } + + .lab-capacity-heading strong { + font-size: 1.15rem; + font-weight: 800; + } + +.lab-users-capacity p { + margin: 0; + color: var(--mud-palette-text-secondary); + font-size: .74rem; + line-height: 1.6; +} + +.lab-users-summary-card { + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 23px; +} + +.lab-users-summary-icon { + display: flex; + align-items: center; + justify-content: center; + width: 42px; + height: 42px; + border-radius: 12px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-users-summary-card > span:nth-child(2) { + margin-top: 15px; + color: var(--mud-palette-text-secondary); + font-size: .76rem; +} + +.lab-users-summary-card strong { + margin-top: 5px; + font-size: 1.45rem; + font-weight: 800; +} + +.lab-users-summary-card small { + margin-top: 5px; + color: var(--mud-palette-text-secondary); + font-size: .72rem; +} + +.lab-users-panel { + overflow: hidden; +} + +.lab-users-panel-heading { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + padding: 25px 25px 18px; +} + + .lab-users-panel-heading h2 { + margin: 0; + font-size: 1.05rem; + font-weight: 750; + } + + .lab-users-panel-heading p { + margin: 6px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .76rem; + line-height: 1.5; + } + +.lab-users-toolbar { + display: flex; + align-items: center; + gap: 14px; + padding: 0 25px 22px; +} + +.lab-users-search { + flex: 1; + min-width: 0; +} + +.lab-users-filter { + width: 180px; + flex-shrink: 0; +} + +.lab-users-panel ::deep .lab-users-table { + box-shadow: none; + background: transparent; +} + +.lab-users-panel ::deep .mud-table-head { + background: var(--mud-palette-background-gray); +} + +.lab-users-panel ::deep .mud-table-cell { + padding: 15px 20px; + border-color: var(--mud-palette-lines-default); +} + +.lab-user-cell { + display: flex; + align-items: center; + gap: 12px; + min-width: 200px; +} + + .lab-user-cell > div:last-child { + display: flex; + flex-direction: column; + gap: 4px; + min-width: 0; + } + + .lab-user-cell strong { + font-size: .83rem; + font-weight: 700; + } + + .lab-user-cell span, + .lab-user-cell small { + color: var(--mud-palette-text-secondary); + font-size: .72rem; + overflow-wrap: anywhere; + } + +.lab-user-date { + color: var(--mud-palette-text-secondary); + font-size: .77rem; +} + +.lab-user-actions { + display: flex; + justify-content: flex-end; + gap: 2px; +} + +.lab-users-empty { + display: flex; + flex-direction: column; + align-items: center; + gap: 9px; + padding: 45px 15px; +} + + .lab-users-empty strong { + font-size: .9rem; + } + + .lab-users-empty p { + margin: 0; + color: var(--mud-palette-text-secondary); + font-size: .77rem; + } + +.lab-users-bottom { + display: flex; + align-items: center; + justify-content: space-between; + gap: 20px; + margin-top: 22px; +} + +.lab-users-info { + display: flex; + align-items: flex-start; + gap: 12px; + max-width: 720px; + padding: 20px; +} + + .lab-users-info strong { + font-size: .83rem; + font-weight: 700; + } + + .lab-users-info p { + margin: 5px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .75rem; + line-height: 1.6; + } + +@media (max-width: 1100px) { + .lab-users-summary { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .lab-users-capacity { + grid-column: 1 / -1; + } +} + +@media (max-width: 760px) { + .lab-users-page { + padding: 28px 0 52px; + } + + .lab-users-heading, + .lab-users-bottom { + flex-direction: column; + align-items: flex-start; + } + + .lab-users-summary { + gap: 12px; + } + + .lab-users-panel-heading { + padding: 20px; + } + + .lab-users-toolbar { + flex-direction: column; + align-items: stretch; + padding: 0 20px 20px; + } + + .lab-users-filter { + width: 100%; + } + + .lab-users-panel ::deep .mud-table-cell { + padding: 12px 16px; + } +} + +@media (max-width: 480px) { + .lab-users-summary { + grid-template-columns: 1fr; + } + + .lab-users-capacity { + grid-column: auto; + } + + .lab-capacity-heading { + flex-wrap: wrap; + } + + .lab-users-summary-card { + padding: 18px; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/DashboardPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/DashboardPage.razor new file mode 100644 index 00000000..804a657d --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/DashboardPage.razor @@ -0,0 +1,275 @@ +@page "/dashboard" +@layout DashboardLayout + +@* TODO: Enable after authentication integration. +@attribute [UAuthAuthorize] +*@ + +Dashboard · Identity Lab + +
+ + +
+
+ IDENTITY WORKSPACE +

Welcome to your sandbox.

+

+ Explore your identity, manage sessions, and + experience UltimateAuth in action. +

+
+ + + Demo Preview + +
+ +
+
+

My Identity

+

Your personal authentication and security overview.

+
+
+ +
+ +
+ + + + Identity status + Authenticated + Example identity state +
+ +
+ + + + My sessions + 2 + Example active sessions +
+ +
+ + + + My roles + 1 + Example assigned role +
+ +
+ + + + My permissions + View + Explore access decisions +
+ +
+ +
+ +
+
+
+

Identity Details

+

Your account and authentication context.

+
+ +
+ +
+ + + + +
+ Sandbox User + Example account +
+ + + + + Active + +
+ +
+ Username + demo-user +
+ +
+ Authentication + Password +
+ +
+ Session model + Root / Chain / Session +
+ + + Explore My Identity + +
+ +
+
+
+

Session Management

+

Discover how device sessions are managed.

+
+ +
+ +
+ + + +
+ Windows · Chrome + Example current device +
+ + + Current + +
+ +
+ + + +
+ Mobile · Safari + Example remote device +
+ + +
+ + + Manage My Sessions + +
+ +
+ + @if (ShowManagement) + { +
+
+ SANDBOX MANAGEMENT +

Manage your environment

+

+ Create users, configure authorization, and + experiment with identity operations. +

+
+
+ + + +
+
+ Your sandbox, your experiments. +

+ Each sandbox supports up to four users, + including its owner. +

+
+ + + 1 / 4 example users + +
+ } + +
+
+ +@code { + // Temporary design preview. Must be replaced by + // server-validated, sandbox-scoped management permission. + private bool ShowManagement => true; +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/DashboardPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/DashboardPage.razor.css new file mode 100644 index 00000000..3e95c669 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/DashboardPage.razor.css @@ -0,0 +1,317 @@ +.lab-overview { + padding: 42px 0 80px; +} + +.lab-overview-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; + margin-bottom: 42px; +} + +.lab-overview-eyebrow { + display: block; + margin-bottom: 10px; + color: var(--mud-palette-primary); + font-size: .67rem; + font-weight: 800; + letter-spacing: 1.2px; +} + +.lab-overview-heading h1 { + margin: 0; + color: var(--mud-palette-text-primary); + font-size: clamp(1.65rem, 3vw, 2.15rem); + font-weight: 800; + letter-spacing: -1px; +} + +.lab-overview-heading p, +.lab-overview-section-title p { + margin: 8px 0 0; + color: var(--mud-palette-text-secondary); + font-size: .86rem; + line-height: 1.6; +} + +.lab-overview-section-title { + margin-bottom: 20px; +} + + .lab-overview-section-title h2 { + margin: 0; + font-size: 1.15rem; + font-weight: 750; + letter-spacing: -.4px; + } + +.lab-overview-stats { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 16px; + margin-bottom: 22px; +} + +.lab-stat-card, +.lab-panel, +.lab-management-card { + background: var(--mud-palette-surface); + border: 1px solid var(--mud-palette-lines-default); + border-radius: 16px; +} + +.lab-stat-card { + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 22px; +} + +.lab-stat-icon, +.lab-management-icon { + display: flex; + align-items: center; + justify-content: center; + width: 42px; + height: 42px; + border-radius: 12px; + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); +} + +.lab-stat-label { + margin-top: 19px; + color: var(--mud-palette-text-secondary); + font-size: .76rem; +} + +.lab-stat-card strong { + margin-top: 5px; + color: var(--mud-palette-text-primary); + font-size: 1.45rem; + font-weight: 800; + letter-spacing: -.6px; +} + +.lab-stat-card small { + margin-top: 5px; + color: var(--mud-palette-text-secondary); + font-size: .72rem; +} + +.lab-overview-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 20px; +} + +.lab-panel { + min-width: 0; + padding: 26px; +} + +.lab-panel-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16px; + margin-bottom: 24px; +} + + .lab-panel-heading h3 { + margin: 0; + font-size: 1rem; + font-weight: 750; + } + + .lab-panel-heading p { + margin: 5px 0 0; + font-size: .76rem; + line-height: 1.5; + color: var(--mud-palette-text-secondary); + } + +.lab-profile, +.lab-session-item { + display: flex; + align-items: center; + gap: 13px; +} + +.lab-profile { + margin-bottom: 22px; +} + + .lab-profile > div:nth-child(2), + .lab-session-item > div:nth-child(2) { + display: flex; + flex-direction: column; + gap: 4px; + min-width: 0; + } + + .lab-profile strong, + .lab-session-item strong { + font-size: .83rem; + font-weight: 700; + } + + .lab-profile span, + .lab-session-item span { + color: var(--mud-palette-text-secondary); + font-size: .72rem; + } + +.lab-detail-row { + display: flex; + justify-content: space-between; + gap: 14px; + padding: 13px 0; + border-top: 1px solid var(--mud-palette-lines-default); + font-size: .79rem; +} + + .lab-detail-row span { + color: var(--mud-palette-text-secondary); + } + + .lab-detail-row strong { + font-weight: 650; + text-align: right; + } + +.lab-session-item { + padding: 18px 0; + border-top: 1px solid var(--mud-palette-lines-default); +} + +.lab-session-icon { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border-radius: 11px; + background: var(--mud-palette-background-gray); + color: var(--mud-palette-text-secondary); +} + +.lab-management-heading { + margin-top: 48px; +} + +.lab-management-grid { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 18px; +} + +.lab-management-card { + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 25px; + text-decoration: none; + color: var(--mud-palette-text-primary); + transition: border-color .2s ease, transform .2s ease; +} + + .lab-management-card:hover { + border-color: var(--mud-palette-primary); + transform: translateY(-2px); + } + + .lab-management-card > strong { + margin-top: 20px; + font-size: .95rem; + font-weight: 750; + } + + .lab-management-card p { + flex: 1; + margin: 9px 0 22px; + color: var(--mud-palette-text-secondary); + font-size: .78rem; + line-height: 1.6; + } + +.lab-management-link { + display: inline-flex; + align-items: center; + gap: 7px; + color: var(--mud-palette-primary); + font-size: .78rem; + font-weight: 700; +} + +.lab-sandbox-banner { + display: flex; + align-items: center; + justify-content: space-between; + gap: 20px; + margin-top: 22px; + padding: 24px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 16px; + background: var(--mud-palette-primary-hover); +} + + .lab-sandbox-banner strong { + font-size: .9rem; + } + + .lab-sandbox-banner p { + margin: 5px 0 0; + font-size: .78rem; + color: var(--mud-palette-text-secondary); + } + +@media (max-width: 1100px) { + .lab-overview-stats { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + +@media (max-width: 760px) { + .lab-overview { + padding: 28px 0 52px; + } + + .lab-overview-heading { + flex-direction: column; + margin-bottom: 32px; + } + + .lab-overview-grid, + .lab-management-grid { + grid-template-columns: 1fr; + } + + .lab-management-heading { + margin-top: 36px; + } +} + +@media (max-width: 480px) { + .lab-overview-stats { + gap: 10px; + } + + .lab-stat-card { + padding: 16px; + } + + .lab-stat-card strong { + font-size: 1.2rem; + } + + .lab-panel { + padding: 20px; + } + + .lab-sandbox-banner { + align-items: flex-start; + flex-direction: column; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LoginPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LoginPage.razor new file mode 100644 index 00000000..dcc66f72 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LoginPage.razor @@ -0,0 +1,160 @@ +@page "/login" +@using CodeBeam.UltimateAuth.Core.Contracts +@layout PublicLayout + +Sign In · Identity Lab + + + +@code { + private MudForm? _form; + private string _identifier = string.Empty; + private string _password = string.Empty; + private bool _rememberMe; + private bool _showPassword; + + private void TogglePassword() + { + _showPassword = !_showPassword; + } + + private void HandleLoginResult(IUAuthTryResult result) + { + // Sonraki adımda başarısız giriş mesajlarını + // ve hesap kilidi durumunu burada işleyeceğiz. + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LoginPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LoginPage.razor.css new file mode 100644 index 00000000..b2dbfd76 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LoginPage.razor.css @@ -0,0 +1,293 @@ +.lab-login-page { + padding: 64px 0 80px; + background: var(--mud-palette-background); +} + +.lab-login-grid { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); + gap: 72px; + align-items: center; +} + +.lab-login-form-section { + display: flex; + justify-content: center; + min-width: 0; +} + +.lab-login-form-wrap { + width: 100%; + max-width: 440px; +} + +.lab-login-intro { + margin-bottom: 28px; +} + +.lab-login-eyebrow { + display: inline-flex; + align-items: center; + gap: 7px; + margin-bottom: 14px; + color: var(--mud-palette-primary); + font-size: 10px; + font-weight: 750; + letter-spacing: 1.2px; +} + +.lab-login-intro h1 { + margin: 0; + color: var(--mud-palette-text-primary); + font-size: clamp(1.8rem, 3vw, 2.25rem); + font-weight: 800; + letter-spacing: -1.2px; + line-height: 1.2; +} + +.lab-login-intro p { + margin: 10px 0 0; + color: var(--mud-palette-text-secondary); + font-size: 0.9rem; + line-height: 1.6; +} + +.lab-login-title { + font-weight: 800; + letter-spacing: -1.4px; +} + +.lab-login-subtitle { + margin-top: 10px; + margin-bottom: 28px; +} + +.lab-login-card { + padding: 30px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 18px; + background: var(--mud-palette-surface); + box-shadow: 0 12px 36px rgba(0, 30, 55, .035); +} + +.lab-login-card-content { + padding: 32px; +} + +.lab-login-form-options { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.lab-login-divider { + position: relative; + display: flex; + align-items: center; + gap: 14px; + margin: 26px 0; + color: var(--mud-palette-text-secondary); + font-size: 10px; + font-weight: 700; + letter-spacing: 1px; + white-space: nowrap; +} + + .lab-login-divider::before, + .lab-login-divider::after { + content: ""; + flex: 1; + height: 1px; + background: var(--mud-palette-lines-default); + } + +.lab-login-note { + display: flex; + justify-content: center; + align-items: center; + gap: 7px; + margin-top: 20px; + font-size: 12px; + color: var(--mud-palette-text-secondary); +} + +.lab-login-showcase { + position: relative; + overflow: hidden; + border-radius: 24px; + background: linear-gradient( 145deg, var(--mud-palette-secondary), #087f7b ); + color: #ffffff; +} + + .lab-login-showcase::before { + content: ""; + position: absolute; + width: 350px; + height: 350px; + right: -140px; + top: -140px; + border-radius: 50%; + background: rgba(255, 255, 255, .07); + } + + .lab-login-showcase::after { + content: ""; + position: absolute; + width: 300px; + height: 300px; + left: -150px; + bottom: -150px; + border-radius: 50%; + background: rgba(255, 255, 255, .05); + } + +.lab-login-showcase-inner { + position: relative; + z-index: 1; + padding: 52px 42px; +} + +.lab-login-showcase-label { + margin-bottom: 20px; + color: #a5f1e6; + font-size: 11px; + font-weight: 800; + letter-spacing: 1.5px; +} + +.lab-login-showcase-title { + font-weight: 800; + letter-spacing: -1px; + line-height: 1.2; + color: #ffffff; +} + + .lab-login-showcase-title span { + display: block; + color: #a5f1e6; + } + +.lab-login-showcase-description { + max-width: 380px; + margin-top: 18px; + margin-bottom: 36px; + color: rgba(255, 255, 255, .82); + line-height: 1.7; +} + +.lab-login-feature { + display: flex; + align-items: flex-start; + gap: 15px; + padding: 17px 0; + border-top: 1px solid rgba(255, 255, 255, .18); +} + +.lab-login-feature-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 42px; + height: 42px; + border-radius: 12px; + background: rgba(255, 255, 255, .12); + color: #ffffff; +} + +.lab-login-feature strong { + display: block; + font-size: 14px; + font-weight: 700; +} + +.lab-login-feature p { + margin: 5px 0 0; + font-size: 12px; + line-height: 1.6; + color: rgba(255, 255, 255, .76); +} + +.lab-login-showcase-footer { + display: flex; + align-items: center; + gap: 8px; + margin-top: 28px; + padding-top: 20px; + border-top: 1px solid rgba(255, 255, 255, .18); + font-size: 12px; + color: #a5f1e6; +} + +.lab-login-fields { + display: flex; + flex-direction: column; + gap: 20px; +} + +.lab-login-register { + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + gap: 5px; + margin-top: 24px; + padding-top: 22px; + border-top: 1px solid var(--mud-palette-lines-default); + font-size: 0.82rem; + color: var(--mud-palette-text-secondary); +} + +.lab-login-note { + display: flex; + align-items: center; + justify-content: center; + gap: 7px; + margin-top: 20px; + font-size: 0.75rem; + color: var(--mud-palette-text-secondary); +} + +@media (max-width: 600px) { + .lab-login-intro { + margin-bottom: 22px; + } + + .lab-login-card { + padding: 22px; + } + + .lab-login-fields { + gap: 16px; + } +} + +@media (max-width: 960px) { + .lab-login-grid { + grid-template-columns: 1fr; + gap: 0; + } + + .lab-login-showcase { + display: none; + } + + .lab-login-page { + padding: 48px 0 64px; + } +} + +@media (max-width: 600px) { + .lab-login-page { + padding: 32px 0 48px; + } + + .lab-login-card-content { + padding: 22px; + } + + .lab-login-title { + letter-spacing: -0.8px; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/RegisterPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/RegisterPage.razor new file mode 100644 index 00000000..c9aa085a --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/RegisterPage.razor @@ -0,0 +1,217 @@ +@page "/register" +@layout PublicLayout + +Create Sandbox · Identity Lab + + + +@code { + private string _username = string.Empty; + private string _email = string.Empty; + private string _password = string.Empty; + private string _confirmPassword = string.Empty; + private bool _showPassword; + private MudForm? _form; + + private static string? ValidateEmail(string value) + { + if (string.IsNullOrWhiteSpace(value)) + return "Email address is required."; + + return new System.ComponentModel.DataAnnotations.EmailAddressAttribute() + .IsValid(value) + ? null + : "Enter a valid email address."; + } + + private static string? ValidatePassword(string value) + { + if (string.IsNullOrWhiteSpace(value)) + return "Password is required."; + + if (value.Length < 8) + return "Password must be at least 8 characters."; + + return null; + } + + private string? ValidateConfirmPassword(string value) + { + if (string.IsNullOrWhiteSpace(value)) + return "Please confirm your password."; + + if (value != _password) + return "Passwords do not match."; + + return null; + } + + private async Task SubmitAsync() + { + if (_form is null) + return; + + await _form.ValidateAsync(); + + if (!_form.IsValid) + return; + + // UltimateAuth registration + sandbox creation + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/RegisterPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/RegisterPage.razor.css new file mode 100644 index 00000000..b2dbfd76 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/RegisterPage.razor.css @@ -0,0 +1,293 @@ +.lab-login-page { + padding: 64px 0 80px; + background: var(--mud-palette-background); +} + +.lab-login-grid { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); + gap: 72px; + align-items: center; +} + +.lab-login-form-section { + display: flex; + justify-content: center; + min-width: 0; +} + +.lab-login-form-wrap { + width: 100%; + max-width: 440px; +} + +.lab-login-intro { + margin-bottom: 28px; +} + +.lab-login-eyebrow { + display: inline-flex; + align-items: center; + gap: 7px; + margin-bottom: 14px; + color: var(--mud-palette-primary); + font-size: 10px; + font-weight: 750; + letter-spacing: 1.2px; +} + +.lab-login-intro h1 { + margin: 0; + color: var(--mud-palette-text-primary); + font-size: clamp(1.8rem, 3vw, 2.25rem); + font-weight: 800; + letter-spacing: -1.2px; + line-height: 1.2; +} + +.lab-login-intro p { + margin: 10px 0 0; + color: var(--mud-palette-text-secondary); + font-size: 0.9rem; + line-height: 1.6; +} + +.lab-login-title { + font-weight: 800; + letter-spacing: -1.4px; +} + +.lab-login-subtitle { + margin-top: 10px; + margin-bottom: 28px; +} + +.lab-login-card { + padding: 30px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 18px; + background: var(--mud-palette-surface); + box-shadow: 0 12px 36px rgba(0, 30, 55, .035); +} + +.lab-login-card-content { + padding: 32px; +} + +.lab-login-form-options { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.lab-login-divider { + position: relative; + display: flex; + align-items: center; + gap: 14px; + margin: 26px 0; + color: var(--mud-palette-text-secondary); + font-size: 10px; + font-weight: 700; + letter-spacing: 1px; + white-space: nowrap; +} + + .lab-login-divider::before, + .lab-login-divider::after { + content: ""; + flex: 1; + height: 1px; + background: var(--mud-palette-lines-default); + } + +.lab-login-note { + display: flex; + justify-content: center; + align-items: center; + gap: 7px; + margin-top: 20px; + font-size: 12px; + color: var(--mud-palette-text-secondary); +} + +.lab-login-showcase { + position: relative; + overflow: hidden; + border-radius: 24px; + background: linear-gradient( 145deg, var(--mud-palette-secondary), #087f7b ); + color: #ffffff; +} + + .lab-login-showcase::before { + content: ""; + position: absolute; + width: 350px; + height: 350px; + right: -140px; + top: -140px; + border-radius: 50%; + background: rgba(255, 255, 255, .07); + } + + .lab-login-showcase::after { + content: ""; + position: absolute; + width: 300px; + height: 300px; + left: -150px; + bottom: -150px; + border-radius: 50%; + background: rgba(255, 255, 255, .05); + } + +.lab-login-showcase-inner { + position: relative; + z-index: 1; + padding: 52px 42px; +} + +.lab-login-showcase-label { + margin-bottom: 20px; + color: #a5f1e6; + font-size: 11px; + font-weight: 800; + letter-spacing: 1.5px; +} + +.lab-login-showcase-title { + font-weight: 800; + letter-spacing: -1px; + line-height: 1.2; + color: #ffffff; +} + + .lab-login-showcase-title span { + display: block; + color: #a5f1e6; + } + +.lab-login-showcase-description { + max-width: 380px; + margin-top: 18px; + margin-bottom: 36px; + color: rgba(255, 255, 255, .82); + line-height: 1.7; +} + +.lab-login-feature { + display: flex; + align-items: flex-start; + gap: 15px; + padding: 17px 0; + border-top: 1px solid rgba(255, 255, 255, .18); +} + +.lab-login-feature-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 42px; + height: 42px; + border-radius: 12px; + background: rgba(255, 255, 255, .12); + color: #ffffff; +} + +.lab-login-feature strong { + display: block; + font-size: 14px; + font-weight: 700; +} + +.lab-login-feature p { + margin: 5px 0 0; + font-size: 12px; + line-height: 1.6; + color: rgba(255, 255, 255, .76); +} + +.lab-login-showcase-footer { + display: flex; + align-items: center; + gap: 8px; + margin-top: 28px; + padding-top: 20px; + border-top: 1px solid rgba(255, 255, 255, .18); + font-size: 12px; + color: #a5f1e6; +} + +.lab-login-fields { + display: flex; + flex-direction: column; + gap: 20px; +} + +.lab-login-register { + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + gap: 5px; + margin-top: 24px; + padding-top: 22px; + border-top: 1px solid var(--mud-palette-lines-default); + font-size: 0.82rem; + color: var(--mud-palette-text-secondary); +} + +.lab-login-note { + display: flex; + align-items: center; + justify-content: center; + gap: 7px; + margin-top: 20px; + font-size: 0.75rem; + color: var(--mud-palette-text-secondary); +} + +@media (max-width: 600px) { + .lab-login-intro { + margin-bottom: 22px; + } + + .lab-login-card { + padding: 22px; + } + + .lab-login-fields { + gap: 16px; + } +} + +@media (max-width: 960px) { + .lab-login-grid { + grid-template-columns: 1fr; + gap: 0; + } + + .lab-login-showcase { + display: none; + } + + .lab-login-page { + padding: 48px 0 64px; + } +} + +@media (max-width: 600px) { + .lab-login-page { + padding: 32px 0 48px; + } + + .lab-login-card-content { + padding: 22px; + } + + .lab-login-title { + letter-spacing: -0.8px; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor index c4ebbffc..c42de71b 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor @@ -11,6 +11,9 @@ @using CodeBeam.UltimateAuth.IdentityLab.Components.Layout @using CodeBeam.UltimateAuth.IdentityLab.Components.Custom +@using CodeBeam.UltimateAuth.Client +@using CodeBeam.UltimateAuth.Client.Blazor + @using CodeBeam.UltimateAuth.Sample.Shared.Components @using CodeBeam.UltimateAuth.Sample.Shared.Components.Page @using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom From 0f6722ce7aeed66abd6fa8c3be03512022d7f870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20Can=20Karag=C3=B6z?= Date: Wed, 21 Oct 2026 22:56:28 +0300 Subject: [PATCH 4/6] Dialog Redesign --- .../Components/App.razor | 1 + .../Pages/Dashboard/AuthorizationPage.razor | 16 +- .../Pages/Dashboard/MyIdentityPage.razor | 69 ++- .../Pages/Dashboard/MySessionsPage.razor | 18 +- .../Pages/Dashboard/UsersPage.razor | 34 +- .../Components/_Imports.razor | 2 + .../Common/UAuthDialog.cs | 11 +- .../Dialogs/AccountStatusDialog.razor | 142 ++++- .../Dialogs/AccountStatusDialog.razor.cs | 173 ++++-- .../Dialogs/AccountStatusDialog.razor.css | 197 +++++++ .../Components/Dialogs/CreateUserDialog.razor | 145 ++++- .../Dialogs/CreateUserDialog.razor.cs | 111 +++- .../Dialogs/CreateUserDialog.razor.css | 118 ++++ .../Components/Dialogs/CredentialDialog.razor | 162 ++++-- .../Dialogs/CredentialDialog.razor.cs | 96 ++-- .../Dialogs/CredentialDialog.razor.css | 134 +++++ .../Components/Dialogs/IdentifierDialog.razor | 320 ++++++++--- .../Dialogs/IdentifierDialog.razor.cs | 444 +++++++-------- .../Dialogs/IdentifierDialog.razor.css | 204 +++++++ .../Components/Dialogs/PermissionDialog.razor | 162 ++++-- .../Dialogs/PermissionDialog.razor.cs | 208 +++++-- .../Dialogs/PermissionDialog.razor.css | 195 +++++++ .../Components/Dialogs/ProfileDialog.razor | 259 ++++++--- .../Components/Dialogs/ProfileDialog.razor.cs | 159 ++++-- .../Dialogs/ProfileDialog.razor.css | 105 ++++ .../Components/Dialogs/ResetDialog.razor | 146 ++++- .../Components/Dialogs/ResetDialog.razor.cs | 108 +++- .../Components/Dialogs/ResetDialog.razor.css | 138 +++++ .../Dialogs/ResourceApiDialog.razor | 280 ++++++++-- .../Dialogs/ResourceApiDialog.razor.cs | 214 ++++++-- .../Dialogs/ResourceApiDialog.razor.css | 228 ++++++++ .../Components/Dialogs/RoleDialog.razor | 292 ++++++++-- .../Components/Dialogs/RoleDialog.razor.cs | 267 ++++++--- .../Components/Dialogs/RoleDialog.razor.css | 207 +++++++ .../Components/Dialogs/SessionDialog.razor | 509 +++++++++++------- .../Components/Dialogs/SessionDialog.razor.cs | 432 +++++++++------ .../Dialogs/SessionDialog.razor.css | 243 +++++++++ .../Components/Dialogs/UserDetailDialog.razor | 237 ++++++-- .../Dialogs/UserDetailDialog.razor.cs | 194 +++++-- .../Dialogs/UserDetailDialog.razor.css | 188 +++++++ .../Components/Dialogs/UserRoleDialog.razor | 156 +++++- .../Dialogs/UserRoleDialog.razor.cs | 215 ++++++-- .../Dialogs/UserRoleDialog.razor.css | 141 +++++ .../Components/Dialogs/UsersDialog.razor | 288 +++++++--- .../Components/Dialogs/UsersDialog.razor.cs | 260 ++++++--- .../Components/Dialogs/UsersDialog.razor.css | 206 +++++++ .../Contracts/CreateUserDialogResult.cs | 8 + .../wwwroot/uauth-dialogs.css | 47 ++ .../Components/App.razor | 1 + .../Components/App.razor | 2 + .../wwwroot/index.html | 2 + .../Components/App.razor | 2 + 52 files changed, 6892 insertions(+), 1604 deletions(-) create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor.css create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Contracts/CreateUserDialogResult.cs create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/wwwroot/uauth-dialogs.css diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor index cd3fc04b..e4f4bc76 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor @@ -13,6 +13,7 @@ + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor index 84b66f54..a002051b 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationPage.razor @@ -1,5 +1,6 @@ @page "/dashboard/authorization" @layout DashboardLayout +@inject IDialogService DialogService @* TODO: Enable sandbox-scoped authorization. @attribute [UAuthAuthorize] @@ -23,7 +24,7 @@ + OnClick="OpenRoleManagementAsync"> Create Role @@ -274,6 +275,19 @@ private string _playgroundRoleId = "owner"; private string _playgroundPermissionId = "users.query"; + private async Task OpenRoleManagementAsync() + { + var parameters = new DialogParameters + { + { x => x.PreviewMode, true } + }; + + await DialogService.ShowAsync( + "Role Management", + parameters, + UAuthDialog.GetDialogOptions(MaxWidth.Large)); + } + private readonly List _permissions = [ new("users.query", "users.query.self", "View own user information"), diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor index 6006a4d9..0d8c2f48 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MyIdentityPage.razor @@ -1,5 +1,6 @@ @page "/dashboard/identity" @layout DashboardLayout +@inject IDialogService DialogService @* TODO: Enable after authentication integration. @attribute [UAuthAuthorize] @@ -14,40 +15,28 @@
PERSONAL WORKSPACE

My Identity

-

- Explore your account, sign-in identifiers, - and credential security. -

+

Explore your account, sign-in identifiers, and credential security.

- + Demo Preview
-
-
-

Profile

Your account information.

- +
- + @@ -91,7 +80,7 @@ + OnClick="OpenEditProfileAsync"> Edit Profile
@@ -154,7 +143,7 @@ + OnClick="OpenIdentifiersAsync"> Add Identifier @@ -192,7 +181,7 @@ + OnClick="OpenChangePasswordAsync"> Change
@@ -301,3 +290,45 @@
+ +@code { + private async Task OpenEditProfileAsync() + { + var parameters = new DialogParameters + { + { x => x.PreviewMode, true }, + { x => x.PreviewDisplayName, "Alex Morgan" } + }; + + await DialogService.ShowAsync( + "Edit Profile", + parameters, + UAuthDialog.GetDialogOptions(MaxWidth.Medium)); + } + + private async Task OpenIdentifiersAsync() + { + var parameters = new DialogParameters + { + { x => x.PreviewMode, true } + }; + + await DialogService.ShowAsync( + "Manage Identifiers", + parameters, + UAuthDialog.GetDialogOptions(MaxWidth.Medium)); + } + + private async Task OpenChangePasswordAsync() + { + var parameters = new DialogParameters + { + { x => x.PreviewMode, true } + }; + + await DialogService.ShowAsync( + "Change Password", + parameters, + UAuthDialog.GetDialogOptions(MaxWidth.Small)); + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor index 3499c246..fd77d9db 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/MySessionsPage.razor @@ -1,5 +1,6 @@ @page "/dashboard/sessions" @layout DashboardLayout +@inject IDialogService DialogService @* TODO: Enable after authentication integration. @attribute [UAuthAuthorize] @@ -114,7 +115,7 @@ + OnClick="OpenSessionManagementAsync"> Details @@ -368,3 +369,18 @@ + +@code { + private async Task OpenSessionManagementAsync() + { + var parameters = new DialogParameters + { + { x => x.PreviewMode, true } + }; + + await DialogService.ShowAsync( + "Session Management", + parameters, + UAuthDialog.GetDialogOptions(MaxWidth.Large)); + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor index 7e5fb957..79bbd06c 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/UsersPage.razor @@ -1,5 +1,6 @@ @page "/dashboard/users" @layout DashboardLayout +@inject IDialogService DialogService @* TODO: Enable sandbox-scoped authorization. @attribute [UAuthAuthorize] @@ -23,7 +24,7 @@ + OnClick="OpenCreateUserDialogAsync"> Create User @@ -189,7 +190,7 @@ + OnClick="@(() => OpenUserProfileAsync(context.DisplayName))" /> @if (!context.IsOwner) @@ -256,8 +257,33 @@ private string _search = string.Empty; private string _statusFilter = "all"; - private double CapacityPercentage => - (double)_users.Count / MaxUsers * 100; + private double CapacityPercentage => (double)_users.Count / MaxUsers * 100; + + + private async Task OpenCreateUserDialogAsync() + { + var parameters = new DialogParameters + { + { x => x.PreviewMode, true } + }; + + await DialogService.ShowAsync("Create User", parameters, UAuthDialog.GetDialogOptions(MaxWidth.Small)); + } + + private async Task OpenUserProfileAsync(string displayName) + { + var parameters = new DialogParameters + { + { x => x.PreviewMode, true }, + { x => x.PreviewDisplayName, displayName } + }; + + await DialogService.ShowAsync( + "Edit Profile", + parameters, + UAuthDialog.GetDialogOptions(MaxWidth.Medium)); + } + private IEnumerable FilteredUsers => _users.Where(user => diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor index c42de71b..8e10622e 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor @@ -14,7 +14,9 @@ @using CodeBeam.UltimateAuth.Client @using CodeBeam.UltimateAuth.Client.Blazor +@using CodeBeam.UltimateAuth.Sample.Shared.Common @using CodeBeam.UltimateAuth.Sample.Shared.Components +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs @using CodeBeam.UltimateAuth.Sample.Shared.Components.Page @using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Common/UAuthDialog.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Common/UAuthDialog.cs index 8e16bbe6..0e32f7f6 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Common/UAuthDialog.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Common/UAuthDialog.cs @@ -17,13 +17,20 @@ public static DialogParameters GetDialogParameters(UAuthState state, UserKey? us return parameters; } - public static DialogOptions GetDialogOptions(MaxWidth maxWidth = MaxWidth.Medium) + public static DialogOptions GetDialogOptions( + MaxWidth maxWidth = MaxWidth.Medium, + bool allowBackdropClose = false, + bool allowEscapeClose = false, + bool showCloseButton = true) { return new DialogOptions { MaxWidth = maxWidth, FullWidth = true, - CloseButton = true + BackdropClick = allowBackdropClose, + CloseOnEscapeKey = allowEscapeClose, + CloseButton = showCloseButton, + BackgroundClass = "uauth-dialog-backdrop", }; } } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor index 0c91e45c..0a370265 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor @@ -1,23 +1,139 @@ -@using CodeBeam.UltimateAuth.Core.Contracts -@using CodeBeam.UltimateAuth.Users.Contracts +@using CodeBeam.UltimateAuth.Users.Contracts @inject IUAuthClient UAuthClient @inject ISnackbar Snackbar @inject IDialogService DialogService - + diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor.cs index c7fc1d63..e70fabed 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor.cs @@ -11,67 +11,154 @@ public partial class AccountStatusDialog private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } + + [Parameter] + public bool PreviewMode { get; set; } + + private bool _isSubmitting; + + private string AccountName => + PreviewMode + ? "Alex Morgan" + : AuthState?.Identity?.DisplayName ?? "Your Account"; private async Task SuspendAccountAsync() { - var info = await DialogService.ShowMessageBoxAsync( - title: "Are You Sure", - markupMessage: (MarkupString) - """ - You are going to suspend your account.

- You can still active your account later. - """, - yesText: "Suspend", noText: "Cancel", - options: new DialogOptions() { MaxWidth = MaxWidth.Medium, FullWidth = true, BackgroundClass = "uauth-blur-slight" }); - - if (info != true) - { - Snackbar.Add("Suspend process cancelled.", Severity.Info); + if (PreviewMode || _isSubmitting) + return; + + var confirmed = await DialogService.ShowMessageBoxAsync( + title: "Suspend Account", + message: + "Are you sure you want to suspend your account? " + + "You may lose access until your account is reactivated.", + yesText: "Suspend Account", + noText: "Cancel", + options: new DialogOptions + { + MaxWidth = MaxWidth.Small, + FullWidth = true, + BackgroundClass = "uauth-blur-slight" + }); + + if (confirmed != true || _isSubmitting) return; - } - ChangeUserStatusSelfRequest request = new() { NewStatus = SelfAssignableUserStatus.SelfSuspended }; - var result = await UAuthClient.Users.ChangeMyStatusAsync(request); - if (result.IsSuccess) + _isSubmitting = true; + + try { - Snackbar.Add("Your account suspended successfully.", Severity.Success); - MudDialog.Close(); + var request = new ChangeUserStatusSelfRequest + { + NewStatus = SelfAssignableUserStatus.SelfSuspended + }; + + var result = await UAuthClient.Users + .ChangeMyStatusAsync(request); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to suspend account.", + Severity.Error); + return; + } + + Snackbar.Add( + "Your account has been suspended.", + Severity.Success); + + MudDialog.Close(DialogResult.Ok(true)); + } + catch (Exception) + { + Snackbar.Add( + "An unexpected error occurred while suspending your account.", + Severity.Error); } - else + finally { - Snackbar.Add(result?.ErrorText ?? "Delete failed.", Severity.Error); + _isSubmitting = false; } } private async Task DeleteAccountAsync() { - var info = await DialogService.ShowMessageBoxAsync( - title: "Are You Sure", - markupMessage: (MarkupString) - """ - You are going to delete your account.

- This action can't be undone.

- (Actually it is, admin can handle soft deleted accounts.) - """, - yesText: "Delete", noText: "Cancel", - options: new DialogOptions() { MaxWidth = MaxWidth.Medium, FullWidth = true, BackgroundClass = "uauth-blur-slight" }); - - if (info != true) - { - Snackbar.Add("Deletion cancelled.", Severity.Info); + if (PreviewMode || _isSubmitting) return; - } - var result = await UAuthClient.Users.DeleteMeAsync(); - if (result.IsSuccess) + var confirmed = await DialogService.ShowMessageBoxAsync( + title: "Delete Account", + message: + "Are you sure you want to delete your account? " + + "You will lose access to this identity. " + + "Recovery may not be available.", + yesText: "Continue", + noText: "Cancel", + options: new DialogOptions + { + MaxWidth = MaxWidth.Small, + FullWidth = true, + BackgroundClass = "uauth-blur-slight" + }); + + if (confirmed != true || _isSubmitting) + return; + + // Require an additional confirmation for account deletion. + var finalConfirmation = await DialogService.ShowMessageBoxAsync( + title: "Confirm Account Deletion", + message: + "This action will delete your account. " + + "Do you want to proceed?", + yesText: "Delete My Account", + noText: "Cancel", + options: new DialogOptions + { + MaxWidth = MaxWidth.Small, + FullWidth = true, + BackgroundClass = "uauth-blur-slight" + }); + + if (finalConfirmation != true || _isSubmitting) + return; + + _isSubmitting = true; + + try { - Snackbar.Add("Your account deleted successfully.", Severity.Success); - MudDialog.Close(); + var result = await UAuthClient.Users.DeleteMeAsync(); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to delete account.", + Severity.Error); + return; + } + + Snackbar.Add( + "Your account has been deleted.", + Severity.Success); + + MudDialog.Close(DialogResult.Ok(true)); + } + catch (Exception) + { + Snackbar.Add( + "An unexpected error occurred while deleting your account.", + Severity.Error); } - else + finally { - Snackbar.Add(result?.ErrorText ?? "Delete failed.", Severity.Error); + _isSubmitting = false; } } + + private void Close() + { + if (!_isSubmitting) + MudDialog.Close(); + } } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor.css new file mode 100644 index 00000000..d818ed58 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/AccountStatusDialog.razor.css @@ -0,0 +1,197 @@ +.lab-account-status-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-account-status-header-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 40px; + height: 40px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-account-status-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-account-status-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-account-status-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-account-status-content { + display: flex; + flex-direction: column; + gap: 19px; + min-width: 0; +} + +.lab-account-status-identity { + display: flex; + align-items: center; + gap: 12px; + padding: 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; + background: var(--mud-palette-background); +} + +.lab-account-status-avatar { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 43px; + height: 43px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-account-status-identity-info { + display: flex; + flex-direction: column; + gap: 5px; + flex: 1; + min-width: 0; +} + + .lab-account-status-identity-info strong { + font-size: .86rem; + font-weight: 750; + } + + .lab-account-status-identity-info span { + font-size: .73rem; + color: var(--mud-palette-text-secondary); + } + +.lab-account-status-section-heading { + display: flex; + flex-direction: column; + gap: 4px; +} + + .lab-account-status-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-account-status-section-heading span { + font-size: .73rem; + line-height: 1.5; + color: var(--mud-palette-text-secondary); + } + +.lab-account-status-card, +.lab-account-status-danger { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 15px; + padding: 16px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; +} + +.lab-account-status-card-main { + display: flex; + align-items: flex-start; + gap: 12px; +} + +.lab-account-status-action-icon, +.lab-account-status-danger-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 40px; + height: 40px; + border-radius: 10px; +} + +.lab-account-status-action-icon { + background: var(--mud-palette-warning-hover); + color: var(--mud-palette-warning); +} + +.lab-account-status-danger { + border-color: var(--mud-palette-error); +} + +.lab-account-status-danger-icon { + background: var(--mud-palette-error-hover); + color: var(--mud-palette-error); +} + +.lab-account-status-card-info { + display: flex; + flex-direction: column; + gap: 6px; + min-width: 0; +} + + .lab-account-status-card-info strong { + font-size: .84rem; + font-weight: 750; + } + + .lab-account-status-card-info span { + font-size: .74rem; + line-height: 1.6; + color: var(--mud-palette-text-secondary); + } + +.lab-account-status-hint { + display: flex; + align-items: flex-start; + gap: 9px; + padding: 12px 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); + color: var(--mud-palette-text-secondary); +} + + .lab-account-status-hint span { + font-size: .72rem; + line-height: 1.6; + } + +.lab-account-status-actions { + display: flex; + justify-content: flex-end; + width: 100%; +} + +@media (max-width: 600px) { + .lab-account-status-card, + .lab-account-status-danger { + padding: 13px; + } + + .lab-account-status-identity { + flex-wrap: wrap; + } + + .lab-account-status-card ::deep .mud-button-root, + .lab-account-status-danger ::deep .mud-button-root { + width: 100%; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor index 20127849..076a318a 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor @@ -1,25 +1,148 @@ @inject IUAuthClient UAuthClient @inject ISnackbar Snackbar - + - Create User +
+
+ +
+ +
+ Create User + + Add a new identity to your environment. + +
+
- - - - - - - +
+ + @if (PreviewMode) + { + + This dialog is running in preview mode. + You can explore the form, but user creation is not enabled. + + } + +
+
+ +
+ Identity Information + Basic details used to identify this user. +
+
+ +
+ + + + + +
+
+ + + +
+
+ +
+ Initial Credential + Set the password for the new account. +
+
+ +
+ + + +
+ +
+ + + Password requirements are enforced by the + configured UltimateAuth credential policy. + +
+
+ +
- Cancel - Create + +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor.cs index 56b88169..683e4c40 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor.cs @@ -1,23 +1,47 @@ -using CodeBeam.UltimateAuth.Users.Contracts; + +using CodeBeam.UltimateAuth.Users.Contracts; using Microsoft.AspNetCore.Components; using MudBlazor; +using System.Net.Mail; namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs; public partial class CreateUserDialog { private MudForm _form = null!; + private string? _username; private string? _email; private string? _password; private string? _passwordCheck; private string? _displayName; + private bool _isSubmitting; + [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = default!; + /// + /// Enables form preview without submitting a user creation request. + /// + [Parameter] + public bool PreviewMode { get; set; } + + /// + /// Optional custom user creation handler. + /// When supplied, the default UltimateAuth admin operation is bypassed. + /// The caller must enforce authorization and application-specific rules. + /// + [Parameter] + public Func>? + OnCreateUserAsync + { get; set; } + private async Task CreateUserAsync() { + if (_isSubmitting || PreviewMode) + return; + await _form.ValidateAsync(); if (!_form.IsValid) @@ -31,25 +55,88 @@ private async Task CreateUserAsync() var request = new CreateUserRequest { - UserName = _username, - Email = _email, - DisplayName = _displayName, + UserName = _username?.Trim(), + Email = _email?.Trim(), + DisplayName = _displayName?.Trim(), Password = _password }; - var result = await UAuthClient.Users.CreateAsAdminAsync(request); + _isSubmitting = true; - if (!result.IsSuccess) + try { - Snackbar.Add(result.ErrorText ?? "User creation failed.", Severity.Error); - return; + CreateUserDialogResult outcome; + + if (OnCreateUserAsync is not null) + { + outcome = await OnCreateUserAsync(request); + } + else + { + var result = await UAuthClient.Users.CreateAsAdminAsync(request); + + outcome = result.IsSuccess + ? CreateUserDialogResult.Success() + : CreateUserDialogResult.Failure( + result.ErrorText ?? "User creation failed."); + } + + if (!outcome.IsSuccess) + { + Snackbar.Add( + outcome.ErrorMessage ?? "User creation failed.", + Severity.Error); + + return; + } + + Snackbar.Add("User created successfully.", Severity.Success); + MudDialog.Close(DialogResult.Ok(true)); + } + catch (Exception) + { + Snackbar.Add( + "An unexpected error occurred while creating the user.", + Severity.Error); } + finally + { + _isSubmitting = false; + } + } - Snackbar.Add("User created successfully", Severity.Success); - MudDialog.Close(DialogResult.Ok(true)); + private string? PasswordMatch(string? value) + { + return _password == value + ? null + : "Passwords don't match."; } - private string PasswordMatch(string? arg) => _password != arg ? "Passwords don't match." : string.Empty; + private static string? ValidateEmail(string? value) + { + if (string.IsNullOrWhiteSpace(value)) + return "Email is required."; + + try + { + var address = new MailAddress(value); + + return string.Equals( + address.Address, + value.Trim(), + StringComparison.OrdinalIgnoreCase) + ? null + : "Enter a valid email address."; + } + catch (FormatException) + { + return "Enter a valid email address."; + } + } - private void Cancel() => MudDialog.Cancel(); + private void Cancel() + { + if (!_isSubmitting) + MudDialog.Cancel(); + } } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor.css new file mode 100644 index 00000000..cc1e6810 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CreateUserDialog.razor.css @@ -0,0 +1,118 @@ +.lab-create-user-header { + display: flex; + align-items: center; + gap: 15px; + padding: 4px 0; +} + +.lab-create-user-header-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 48px; + height: 48px; + border-radius: 14px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-create-user-header-text { + display: flex; + flex-direction: column; + gap: 5px; + min-width: 0; +} + + .lab-create-user-header-text ::deep .mud-typography-h6 { + font-size: 1.1rem; + font-weight: 800; + letter-spacing: -.4px; + } + + .lab-create-user-header-text ::deep .mud-typography-body2 { + font-size: .77rem; + line-height: 1.5; + } + +.lab-create-user-content { + display: flex; + flex-direction: column; + gap: 23px; + padding: 8px 0; +} + +.lab-create-user-section { + display: flex; + flex-direction: column; + gap: 20px; +} + +.lab-create-user-section-heading { + display: flex; + align-items: flex-start; + gap: 12px; +} + + .lab-create-user-section-heading > div { + display: flex; + flex-direction: column; + gap: 5px; + } + + .lab-create-user-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-create-user-section-heading span { + color: var(--mud-palette-text-secondary); + font-size: .73rem; + line-height: 1.6; + } + +.lab-create-user-fields { + display: grid; + grid-template-columns: 1fr; + gap: 15px; +} + +.lab-create-user-hint { + display: flex; + align-items: flex-start; + gap: 9px; + padding: 13px 15px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); + color: var(--mud-palette-text-secondary); +} + + .lab-create-user-hint span { + font-size: .72rem; + line-height: 1.65; + } + +.lab-create-user-actions { + display: flex; + justify-content: flex-end; + align-items: center; + gap: 10px; + width: 100%; + padding: 5px 0; +} + +@media (max-width: 480px) { + .lab-create-user-header-icon { + width: 42px; + height: 42px; + } + + .lab-create-user-actions { + flex-wrap: wrap; + } + + .lab-create-user-actions ::deep .mud-button-root { + flex: 1; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor index 660b7c3a..2e7076e8 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor @@ -1,51 +1,145 @@ -@using CodeBeam.UltimateAuth.Core.Contracts -@using CodeBeam.UltimateAuth.Credentials.Contracts -@using CodeBeam.UltimateAuth.Users.Contracts -@inject IUAuthClient UAuthClient +@inject IUAuthClient UAuthClient @inject ISnackbar Snackbar -@inject IDialogService DialogService -@inject IUAuthStateManager StateManager -@inject NavigationManager Nav - + - Credential Management - User: @AuthState?.Identity?.DisplayName +
+
+ +
+ +
+ + @(UserKey is null ? "Change Password" : "Set User Password") + + + @(UserKey is null + ? "Update your account password securely." + : "Assign a new password to the selected identity.") + +
+
+ - - - @if (UserKey == null) + +
+ + @if (PreviewMode) { - - - + + Preview mode is active. Password changes are disabled. + } - else + + @if (UserKey is not null) { - - - Administrators can directly assign passwords to users. - However, using the credential reset flow is generally recommended for better security and auditability. - - + + You are assigning a password to another user. + For better security and auditability, the credential + reset flow is generally recommended. + } - - - +
+
+ +
+ + @(UserKey is null ? "Password Update" : "New Credential") + + + @(UserKey is null + ? "Enter your current password and choose a new one." + : "Choose the password to assign to this identity.") + +
+
+ +
+ @if (UserKey is null) + { + + } - - - + - - @(UserKey is null ? "Change Password" : "Set Password") - - + +
+
+ +
+ + + Password requirements and credential reuse restrictions + are enforced by your UltimateAuth server configuration. + +
+ +
+ +
+ Security + + Updating a password may affect active sessions + according to the configured session revocation policy. + +
+
+ +
+ - Cancel +
+ + Cancel + + + + @(UserKey is null ? "Change Password" : "Set Password") + +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor.cs index d860c4b4..da7ad7b7 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor.cs @@ -10,83 +10,99 @@ namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs; public partial class CredentialDialog { private MudForm _form = null!; + private string? _oldPassword; private string? _newPassword; private string? _newPasswordCheck; - private bool _passwordMode1 = false; - private bool _passwordMode2 = false; - private bool _passwordMode3 = true; + + private bool _isSubmitting; [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } [Parameter] public UserKey? UserKey { get; set; } + [Parameter] + public bool PreviewMode { get; set; } + private async Task ChangePasswordAsync() { - if (_form is null) + if (PreviewMode || _isSubmitting || _form is null) return; await _form.ValidateAsync(); + if (!_form.IsValid) - { - Snackbar.Add("Form is not valid.", Severity.Error); return; - } if (_newPassword != _newPasswordCheck) { - Snackbar.Add("New password and check do not match", Severity.Error); + Snackbar.Add("Passwords don't match.", Severity.Error); return; } - ChangeCredentialRequest request; - - if (UserKey is null) - { - request = new ChangeCredentialRequest - { - CurrentSecret = _oldPassword!, - NewSecret = _newPassword! - }; - } - else + var request = new ChangeCredentialRequest { - request = new ChangeCredentialRequest - { - NewSecret = _newPassword! - }; - } + CurrentSecret = UserKey is null ? _oldPassword : null, + NewSecret = _newPassword! + }; - UAuthResult result; - if (UserKey is null) - { - result = await UAuthClient.Credentials.ChangeMyAsync(request); - } - else - { - result = await UAuthClient.Credentials.ChangeUserAsync(UserKey.Value, request); - } + _isSubmitting = true; - if (result.IsSuccess) + try { - Snackbar.Add("Password changed successfully", Severity.Success); + UAuthResult result = + UserKey is null + ? await UAuthClient.Credentials.ChangeMyAsync(request) + : await UAuthClient.Credentials.ChangeUserAsync( + UserKey.Value, request); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to update password.", + Severity.Error); + return; + } + _oldPassword = null; _newPassword = null; _newPasswordCheck = null; + + Snackbar.Add( + UserKey is null + ? "Password changed successfully." + : "User password updated successfully.", + Severity.Success); + MudDialog.Close(DialogResult.Ok(true)); } - else + catch (Exception) + { + Snackbar.Add( + "An unexpected error occurred while updating the password.", + Severity.Error); + } + finally { - Snackbar.Add(result.ErrorText ?? "An error occurred while changing password", Severity.Error); + _isSubmitting = false; } } - private string PasswordMatch(string arg) => _newPassword != arg ? "Passwords don't match" : string.Empty; + private string? PasswordMatch(string? value) + { + return _newPassword == value + ? null + : "Passwords don't match."; + } - private void Cancel() => MudDialog.Cancel(); + private void Cancel() + { + if (!_isSubmitting) + MudDialog.Cancel(); + } } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor.css new file mode 100644 index 00000000..6303ec6e --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/CredentialDialog.razor.css @@ -0,0 +1,134 @@ +.lab-credential-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-credential-header-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 40px; + height: 40px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-credential-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-credential-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + letter-spacing: -.3px; + } + + .lab-credential-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-credential-content { + display: flex; + flex-direction: column; + gap: 20px; + padding: 4px 0; +} + +.lab-credential-section { + display: flex; + flex-direction: column; + gap: 17px; +} + +.lab-credential-section-heading { + display: flex; + align-items: flex-start; + gap: 12px; +} + + .lab-credential-section-heading > div { + display: flex; + flex-direction: column; + gap: 4px; + } + + .lab-credential-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-credential-section-heading span { + color: var(--mud-palette-text-secondary); + font-size: .73rem; + line-height: 1.5; + } + +.lab-credential-fields { + display: flex; + flex-direction: column; + gap: 15px; +} + +.lab-credential-hint { + display: flex; + align-items: flex-start; + gap: 9px; + padding: 12px 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); + color: var(--mud-palette-text-secondary); +} + + .lab-credential-hint span { + font-size: .72rem; + line-height: 1.6; + } + +.lab-credential-security-note { + display: flex; + align-items: flex-start; + gap: 11px; + padding: 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; +} + + .lab-credential-security-note > div { + display: flex; + flex-direction: column; + gap: 5px; + } + + .lab-credential-security-note strong { + font-size: .78rem; + font-weight: 750; + } + + .lab-credential-security-note span { + color: var(--mud-palette-text-secondary); + font-size: .72rem; + line-height: 1.6; + } + +.lab-credential-actions { + display: flex; + justify-content: flex-end; + align-items: center; + gap: 8px; + width: 100%; +} + +@media (max-width: 600px) { + .lab-credential-content { + gap: 17px; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor index 0d631533..97becc06 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor @@ -1,106 +1,248 @@ -@using CodeBeam.UltimateAuth.Core.Contracts -@using CodeBeam.UltimateAuth.Users.Contracts +@using CodeBeam.UltimateAuth.Users.Contracts @inject IUAuthClient UAuthClient @inject ISnackbar Snackbar @inject IDialogService DialogService - + - Identifier Management - - @if (UserKey is null) +
+
+ +
+
+ Manage Identifiers + + Manage usernames, email addresses and other sign-in identifiers. + +
+
+
+ + +
+ @if (PreviewMode) { - User: @AuthState?.Identity?.DisplayName + + Preview mode is active. Identifier changes are disabled. + } - else + +
+
+ Linked Identifiers + Identifiers associated with this identity. +
+ + +
+ + @if (_loading) { - UserKey: @UserKey.Value + } - - - - - - - Identifiers - - - - - - - - - - - - - - - - - - - - - - - - - @if (context.Item.IsPrimary) - { - - - - } - else + else if (_loadError is not null) + { + + @_loadError + + } + else if (_identifiers.Count == 0) + { +
+ + No identifiers found + No identifiers are currently available for this identity. +
+ } + else + { +
+ @foreach (var identifier in _identifiers) + { +
+
+
+ +
+ +
+
+ @identifier.Type + + @if (identifier.IsPrimary) + { + + Primary + + } +
+ + + @identifier.Value + + +
+ @if (identifier.IsVerified) + { + + Verified + } + else + { + + Not verified + } +
+
+
+ +
+ + Edit + + + @if (identifier.IsPrimary) + { + + Unset Primary + + } + else + { + + Set Primary + + } + + @if (!identifier.IsVerified) + { + + Verify + + } + + + + +
+ + @if (_editingId == identifier.Id) { - - - +
+ + +
+ + Cancel + + + Save + +
+
} +
+ } +
+ } + + + +
+ Add Identifier + Attach an additional identifier to this account. +
+ +
+ + + + + +
+
- Cancel +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor.cs index 0612671d..49629010 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor.cs @@ -9,308 +9,320 @@ namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs; public partial class IdentifierDialog { - private MudDataGrid? _grid; - private UserIdentifierType _newIdentifierType; + private readonly List _identifiers = []; + private readonly UserIdentifierType[] _identifierTypes = + Enum.GetValues(); + + private UserIdentifierType _newIdentifierType = UserIdentifierType.Email; private string? _newIdentifierValue; private bool _newIdentifierPrimary; - private bool _loading = false; - private bool _reloadQueued; + + private Guid? _editingId; + private string? _editingValue; + + private bool _loading; + private string? _loadError; [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } [Parameter] public UserKey? UserKey { get; set; } - protected override async Task OnAfterRenderAsync(bool firstRender) - { - await base.OnAfterRenderAsync(firstRender); - - if (firstRender) - { - var result = await UAuthClient.Identifiers.GetMyAsync(); - if (result != null && result.IsSuccess && result.Value != null) - { - await ReloadAsync(); - StateHasChanged(); - } - } - } + [Parameter] + public bool PreviewMode { get; set; } - private async Task> LoadServerData(GridState state, CancellationToken ct) + protected override async Task OnInitializedAsync() { - var sort = state.SortDefinitions?.FirstOrDefault(); - - var req = new PageRequest - { - PageNumber = state.Page + 1, - PageSize = state.PageSize, - SortBy = sort?.SortBy, - Descending = sort?.Descending ?? false - }; - - UAuthResult> res; - - if (UserKey is null) + if (PreviewMode) { - res = await UAuthClient.Identifiers.GetMyAsync(req); - } - else - { - res = await UAuthClient.Identifiers.GetUserAsync(UserKey.Value, req); + LoadPreviewData(); + return; } - if (!res.IsSuccess || res.Value is null) - { - Snackbar.Add(res.Problem?.Title ?? "Failed", Severity.Error); - - return new GridData - { - Items = Array.Empty(), - TotalItems = 0 - }; - } + await ReloadAsync(); + } - return new GridData - { - Items = res.Value.Items, - TotalItems = res.Value.TotalCount - }; + private void LoadPreviewData() + { + _identifiers.Clear(); + + // Preview data is presentation-only. + // Real identifier models are loaded from UltimateAuth. + _identifiers.Add(new UserIdentifierInfo + { + Id = Guid.Parse("10000000-0000-0000-0000-000000000001"), + Type = UserIdentifierType.Username, + Value = "alex", + IsPrimary = true, + IsVerified = true + }); + + _identifiers.Add(new UserIdentifierInfo + { + Id = Guid.Parse("10000000-0000-0000-0000-000000000002"), + Type = UserIdentifierType.Email, + Value = "alex@example.com", + IsPrimary = false, + IsVerified = true + }); } private async Task ReloadAsync() { - if (_loading) - { - _reloadQueued = true; - return; - } - - if (_grid is null) + if (_loading || PreviewMode) return; _loading = true; - await InvokeAsync(StateHasChanged); - await Task.Delay(300); + _loadError = null; try { - await _grid.ReloadServerData(); + var collected = new List(); + const int pageSize = 50; + var pageNumber = 1; + + while (true) + { + var request = new PageRequest + { + PageNumber = pageNumber, + PageSize = pageSize + }; + + UAuthResult> result = + UserKey is null + ? await UAuthClient.Identifiers.GetMyAsync(request) + : await UAuthClient.Identifiers.GetUserAsync( + UserKey.Value, request); + + if (!result.IsSuccess || result.Value is null) + { + _loadError = result.ErrorText + ?? "Unable to load identifiers."; + return; + } + + collected.AddRange(result.Value.Items); + + if (collected.Count >= result.Value.TotalCount || + result.Value.Items.Count() == 0) + break; + + pageNumber++; + } + + _identifiers.Clear(); + _identifiers.AddRange(collected); + } + catch (Exception) + { + _loadError = "An unexpected error occurred while loading identifiers."; } finally { _loading = false; + } + } - if (_reloadQueued) - { - _reloadQueued = false; - await ReloadAsync(); - } + private void BeginEdit(UserIdentifierInfo identifier) + { + if (PreviewMode || _loading) + return; - await InvokeAsync(StateHasChanged); - } + _editingId = identifier.Id; + _editingValue = identifier.Value; } - private async Task CommittedItemChanges(UserIdentifierInfo item) + private void CancelEdit() { - UpdateUserIdentifierRequest updateRequest = new() - { - Id = item.Id, - NewValue = item.Value - }; + _editingId = null; + _editingValue = null; + } - UAuthResult result; + private async Task SaveEditAsync() + { + if (_editingId is null || string.IsNullOrWhiteSpace(_editingValue)) + return; - if (UserKey is null) - { - result = await UAuthClient.Identifiers.UpdateMyAsync(updateRequest); - } - else + var request = new UpdateUserIdentifierRequest { - result = await UAuthClient.Identifiers.UpdateUserAsync(UserKey.Value, updateRequest); - } + Id = _editingId.Value, + NewValue = _editingValue.Trim() + }; - if (result.IsSuccess) - { - Snackbar.Add("Identifier updated successfully.", Severity.Success); - } - else - { - Snackbar.Add(result?.ErrorText ?? "Failed to update identifier", Severity.Error); - } + await ExecuteAsync( + () => UserKey is null + ? UAuthClient.Identifiers.UpdateMyAsync(request) + : UAuthClient.Identifiers.UpdateUserAsync( + UserKey.Value, request), + "Identifier updated successfully."); - await ReloadAsync(); - return DataGridEditFormAction.Close; + CancelEdit(); } - private async Task AddNewIdentifier() + private async Task AddNewIdentifierAsync() { - if (string.IsNullOrEmpty(_newIdentifierValue)) + if (string.IsNullOrWhiteSpace(_newIdentifierValue)) { - Snackbar.Add("Value cannot be empty", Severity.Warning); + Snackbar.Add("Identifier value is required.", Severity.Warning); return; } - AddUserIdentifierRequest request = new() + var request = new AddUserIdentifierRequest { Type = _newIdentifierType, - Value = _newIdentifierValue, + Value = _newIdentifierValue.Trim(), IsPrimary = _newIdentifierPrimary }; - UAuthResult result; + var success = await ExecuteAsync( + () => UserKey is null + ? UAuthClient.Identifiers.AddMyAsync(request) + : UAuthClient.Identifiers.AddUserAsync( + UserKey.Value, request), + "Identifier added successfully."); - if (UserKey is null) + if (success) { - result = await UAuthClient.Identifiers.AddMyAsync(request); - } - else - { - result = await UAuthClient.Identifiers.AddUserAsync(UserKey.Value, request); + _newIdentifierValue = null; + _newIdentifierPrimary = false; } + } - if (result.IsSuccess) - { - Snackbar.Add("Identifier added successfully.", Severity.Success); - await ReloadAsync(); - StateHasChanged(); - } - else - { - Snackbar.Add(result?.ErrorText ?? "Failed to add identifier.", Severity.Error); - } + private async Task SetPrimaryAsync(Guid id) + { + var request = new SetPrimaryUserIdentifierRequest { Id = id }; + + await ExecuteAsync( + () => UserKey is null + ? UAuthClient.Identifiers.SetMyPrimaryAsync(request) + : UAuthClient.Identifiers.SetUserPrimaryAsync( + UserKey.Value, request), + "Primary identifier updated."); + } + + private async Task UnsetPrimaryAsync(Guid id) + { + var request = new UnsetPrimaryUserIdentifierRequest { Id = id }; + + await ExecuteAsync( + () => UserKey is null + ? UAuthClient.Identifiers.UnsetMyPrimaryAsync(request) + : UAuthClient.Identifiers.UnsetUserPrimaryAsync( + UserKey.Value, request), + "Primary identifier removed."); } private async Task VerifyAsync(Guid id) { - var demoInfo = await DialogService.ShowMessageBoxAsync( - title: "Demo Verification", - markupMessage: (MarkupString) - """ - This Development sample bypasses ownership verification.

- No email or SMS proof is checked. The identifier will be marked - as verified for demonstration purposes only.

- Production applications must implement a real - IUserIdentifierVerifier. - """, - yesText: "Verify", noText: "Cancel", - options: new DialogOptions() { MaxWidth = MaxWidth.Medium, FullWidth = true, BackgroundClass = "uauth-blur-slight" }); - - if (demoInfo != true) - { - Snackbar.Add("Verification cancelled", Severity.Info); + if (PreviewMode) return; - } - VerifyUserIdentifierRequest request = new() - { - Id = id, - Proof = UserKey is null ? "demo-verification-bypass" : null - }; + var confirmed = await DialogService.ShowMessageBoxAsync( + "Development Verification", + "This sample verification bypasses ownership proof. " + + "Only use this operation in a development environment " + + "with an explicitly configured demo verifier.", + yesText: "Continue", + noText: "Cancel"); - UAuthResult result; + if (confirmed != true) + return; - if (UserKey is null) + var request = new VerifyUserIdentifierRequest { - result = await UAuthClient.Identifiers.VerifyMyAsync(request); - } - else - { - result = await UAuthClient.Identifiers.VerifyUserAsync(UserKey.Value, request); - } + Id = id, + Proof = UserKey is null + ? "demo-verification-bypass" + : null + }; - if (result.IsSuccess) - { - Snackbar.Add("Identifier verified successfully.", Severity.Success); - await ReloadAsync(); - StateHasChanged(); - } - else - { - Snackbar.Add(result?.ErrorText ?? "Failed to verify primary identifier.", Severity.Error); - } + await ExecuteAsync( + () => UserKey is null + ? UAuthClient.Identifiers.VerifyMyAsync(request) + : UAuthClient.Identifiers.VerifyUserAsync( + UserKey.Value, request), + "Identifier verified."); } - private async Task SetPrimaryAsync(Guid id) + private async Task DeleteIdentifierAsync(Guid id) { - SetPrimaryUserIdentifierRequest request = new() { Id = id }; - UAuthResult result; + var confirmed = await DialogService.ShowMessageBoxAsync( + "Delete Identifier", + "Are you sure you want to remove this identifier?", + yesText: "Delete", + noText: "Cancel"); - if (UserKey is null) - { - result = await UAuthClient.Identifiers.SetMyPrimaryAsync(request); - } - else - { - result = await UAuthClient.Identifiers.SetUserPrimaryAsync(UserKey.Value, request); - } + if (confirmed != true) + return; - if (result.IsSuccess) - { - Snackbar.Add("Primary identifier set successfully.", Severity.Success); - await ReloadAsync(); - StateHasChanged(); - } - else - { - Snackbar.Add(result?.ErrorText ?? "Failed to set primary identifier.", Severity.Error); - } + var request = new DeleteUserIdentifierRequest { Id = id }; + + await ExecuteAsync( + () => UserKey is null + ? UAuthClient.Identifiers.DeleteMyAsync(request) + : UAuthClient.Identifiers.DeleteUserAsync( + UserKey.Value, request), + "Identifier deleted."); } - private async Task UnsetPrimaryAsync(Guid id) + private async Task ExecuteAsync( + Func> operation, + string successMessage) { - UnsetPrimaryUserIdentifierRequest request = new() { Id = id }; - UAuthResult result; + if (_loading || PreviewMode) + return false; - if (UserKey is null) - { - result = await UAuthClient.Identifiers.UnsetMyPrimaryAsync(request); - } - else - { - result = await UAuthClient.Identifiers.UnsetUserPrimaryAsync(UserKey.Value, request); - } + _loading = true; - if (result.IsSuccess) - { - Snackbar.Add("Primary identifier unset successfully.", Severity.Success); - await ReloadAsync(); - StateHasChanged(); - } - else + try { - Snackbar.Add(result?.ErrorText ?? "Failed to unset primary identifier.", Severity.Error); - } - } + var result = await operation(); - private async Task DeleteIdentifier(Guid id) - { - DeleteUserIdentifierRequest request = new() { Id = id }; - UAuthResult result; + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Identifier operation failed.", + Severity.Error); + return false; + } - if (UserKey is null) - { - result = await UAuthClient.Identifiers.DeleteMyAsync(request); + Snackbar.Add(successMessage, Severity.Success); } - else + catch (Exception) { - result = await UAuthClient.Identifiers.DeleteUserAsync(UserKey.Value, request); + Snackbar.Add( + "An unexpected error occurred.", + Severity.Error); + return false; } - - if (result.IsSuccess) + finally { - Snackbar.Add("Identifier deleted successfully.", Severity.Success); - await ReloadAsync(); - StateHasChanged(); + _loading = false; } - else + + await ReloadAsync(); + return true; + } + + private static string GetIdentifierIcon(UserIdentifierType type) + { + return type switch { - Snackbar.Add(result?.ErrorText ?? "Failed to delete identifier", Severity.Error); - } + UserIdentifierType.Username => Icons.Material.Filled.PersonOutline, + UserIdentifierType.Email => Icons.Material.Filled.AlternateEmail, + UserIdentifierType.Phone => Icons.Material.Filled.Phone, + _ => Icons.Material.Filled.Badge + }; } - private void Cancel() => MudDialog.Cancel(); + private void Cancel() + { + if (!_loading) + MudDialog.Cancel(); + } } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor.css new file mode 100644 index 00000000..64f4f747 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/IdentifierDialog.razor.css @@ -0,0 +1,204 @@ +.lab-identifier-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-identifier-header-icon, +.lab-identifier-type-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); + border-radius: 11px; +} + +.lab-identifier-header-icon { + width: 40px; + height: 40px; +} + +.lab-identifier-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-identifier-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-identifier-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-identifier-content { + display: flex; + flex-direction: column; + gap: 20px; +} + +.lab-identifier-toolbar { + display: flex; + justify-content: space-between; + align-items: center; + gap: 12px; +} + +.lab-identifier-section-heading { + display: flex; + flex-direction: column; + gap: 4px; +} + + .lab-identifier-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-identifier-section-heading span { + color: var(--mud-palette-text-secondary); + font-size: .73rem; + line-height: 1.5; + } + +.lab-identifier-list { + display: flex; + flex-direction: column; + gap: 11px; +} + +.lab-identifier-card { + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; + overflow: hidden; + background: var(--mud-palette-surface); +} + +.lab-identifier-card-main { + display: flex; + align-items: flex-start; + gap: 13px; + padding: 15px; +} + +.lab-identifier-type-icon { + width: 37px; + height: 37px; +} + +.lab-identifier-card-details { + display: flex; + flex-direction: column; + gap: 7px; + min-width: 0; + flex: 1; +} + +.lab-identifier-card-label { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 8px; +} + + .lab-identifier-card-label strong { + font-size: .84rem; + } + +.lab-identifier-value { + font-size: .82rem; + overflow-wrap: anywhere; +} + +.lab-identifier-status { + display: flex; + align-items: center; + gap: 5px; + font-size: .72rem; + color: var(--mud-palette-text-secondary); +} + +.lab-identifier-card-actions { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 5px; + padding: 8px 12px; + background: var(--mud-palette-background); + border-top: 1px solid var(--mud-palette-lines-default); +} + +.lab-identifier-edit { + display: flex; + flex-direction: column; + gap: 10px; + padding: 14px; + border-top: 1px solid var(--mud-palette-lines-default); +} + +.lab-identifier-edit-actions, +.lab-identifier-footer { + display: flex; + justify-content: flex-end; + gap: 8px; +} + +.lab-identifier-add { + display: flex; + flex-direction: column; + gap: 15px; +} + +.lab-identifier-add-footer { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 12px; +} + +.lab-identifier-empty { + display: flex; + align-items: center; + flex-direction: column; + gap: 10px; + text-align: center; + padding: 30px 15px; + border: 1px dashed var(--mud-palette-lines-default); + border-radius: 12px; +} + + .lab-identifier-empty strong { + font-size: .85rem; + } + + .lab-identifier-empty span { + font-size: .75rem; + color: var(--mud-palette-text-secondary); + } + +@media (max-width: 600px) { + .lab-identifier-card-main { + padding: 12px; + } + + .lab-identifier-card-actions { + padding: 8px; + } + + .lab-identifier-add-footer { + align-items: stretch; + flex-direction: column; + } + + .lab-identifier-add-footer ::deep .mud-button-root { + width: 100%; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor index 8e0df863..45c130f8 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor @@ -1,46 +1,148 @@ @using CodeBeam.UltimateAuth.Authorization.Contracts -@using CodeBeam.UltimateAuth.Core.Defaults -@using System.Reflection - @inject IUAuthClient UAuthClient @inject ISnackbar Snackbar - + - Role Permissions - @Role.Name +
+
+ +
+
+ Role Permissions + + Configure permissions for @(PreviewMode ? PreviewRoleName : Role?.Name ?? "this role"). + +
+
- @* For Debug *@ - @* Current Permissions: @string.Join(", ", Role.Permissions) *@ - - @foreach (var group in _groups) +
+ @if (PreviewMode) { - - - - - @group.Name (@group.Items.Count(x => x.Selected)/@group.Items.Count) - - - - - @foreach (var perm in group.Items) + + Preview mode is active. You can explore permission + selection, but changes cannot be saved. + + } + +
+
+ Selected Permissions + @SelectedCount / @TotalCount +
+ +
+ +
+ + + + Reset + +
+ +
+ @foreach (var group in FilteredGroups) + { +
+
+ + +
+ @group.Name + @group.Items.Count(x => x.Selected) of @group.Items.Count selected +
+ + +
+ + @if (group.Expanded) { - - - +
+ @foreach (var permission in GetVisibleItems(group)) + { +
+ + @permission.Value +
+ } +
} - - - - } - +
+ } + + @if (FilteredGroups.Count == 0) + { +
+ + No permissions found + Try a different search term. +
+ } +
+ +
+ + + Permission groups are organized by resource. + Selecting a group selects its catalog permissions. + Changes take effect according to the authorization + evaluation and caching policies of the application. + +
+
- Cancel - Save +
+ + Cancel + + + + Save Permissions + +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor.cs index aeb9c1c9..d82e214a 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor.cs @@ -10,40 +10,103 @@ public partial class PermissionDialog private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public RoleInfo Role { get; set; } = default!; + public RoleInfo? Role { get; set; } - private List _groups = new(); + [Parameter] + public bool PreviewMode { get; set; } + + [Parameter] + public string PreviewRoleName { get; set; } = "Editor"; + + private List _groups = []; + private HashSet _originalSelection = []; + + private string? _search; + private bool _isSaving; + + private int SelectedCount => + _groups.Sum(g => g.Items.Count(x => x.Selected)); + + private int TotalCount => + _groups.Sum(g => g.Items.Count); + + private double SelectionPercentage => + TotalCount == 0 + ? 0 + : SelectedCount * 100.0 / TotalCount; + + private bool HasChanges => + !_originalSelection.SetEquals( + _groups.SelectMany(g => g.Items) + .Where(x => x.Selected) + .Select(x => x.Value)); + + private List FilteredGroups => + _groups + .Where(g => + string.IsNullOrWhiteSpace(_search) || + g.Name.Contains(_search, StringComparison.OrdinalIgnoreCase) || + g.Items.Any(x => x.Value.Contains( + _search, StringComparison.OrdinalIgnoreCase))) + .ToList(); protected override void OnInitialized() { var catalog = UAuthPermissionCatalog.GetAdminPermissions(); - var expanded = PermissionExpander.Expand(Role.Permissions, catalog); - var selected = expanded.Select(x => x.Value).ToHashSet(); + + HashSet selected; + + if (PreviewMode) + { + selected = catalog + .Take(Math.Min(6, catalog.Count())) + .ToHashSet(StringComparer.Ordinal); + } + else + { + if (Role is null) + throw new InvalidOperationException( + "Role is required outside preview mode."); + + var expanded = PermissionExpander.Expand( + Role.Permissions, + catalog); + + selected = expanded + .Select(x => x.Value) + .ToHashSet(StringComparer.Ordinal); + } + + _originalSelection = new HashSet( + selected, + StringComparer.Ordinal); _groups = catalog .GroupBy(p => p.Split('.')[0]) - .Select(g => new PermissionGroup + .Select(group => new PermissionGroup { - Name = g.Key, - Items = g.Select(p => new PermissionItem - { - Value = p, - Selected = selected.Contains(p) - }).ToList() + Name = group.Key, + Expanded = false, + Items = group + .Select(permission => new PermissionItem + { + Value = permission, + Selected = selected.Contains(permission) + }) + .ToList() }) .OrderBy(x => x.Name) .ToList(); } - private void ToggleGroup(PermissionGroup group, bool value) + private IEnumerable GetVisibleItems( + PermissionGroup group) { - foreach (var item in group.Items) - item.Selected = value; - } + if (string.IsNullOrWhiteSpace(_search)) + return group.Items; - private void TogglePermission(PermissionItem item, bool value) - { - item.Selected = value; + return group.Items.Where(x => + x.Value.Contains(_search, StringComparison.OrdinalIgnoreCase)); } private bool? GetGroupState(PermissionGroup group) @@ -59,60 +122,107 @@ private void TogglePermission(PermissionItem item, bool value) return null; } - private async Task Save() + private void ToggleGroup(PermissionGroup group, bool selected) { - var permissions = _groups.SelectMany(g => g.Items).Where(x => x.Selected).Select(x => Permission.From(x.Value)).ToList(); + if (_isSaving) + return; - var req = new SetRolePermissionsRequest - { - RoleId = Role.Id, - Permissions = permissions - }; + // A group checkbox always affects the complete group, + // even when search filtering is active. + foreach (var item in group.Items) + item.Selected = selected; + } - var result = await UAuthClient.Authorization.SetRolePermissionsAsync(req); + private void TogglePermission( + PermissionItem permission, + bool selected) + { + if (_isSaving) + return; - if (!result.IsSuccess) - { - Snackbar.Add(result.ErrorText ?? "Failed to update permissions", Severity.Error); + permission.Selected = selected; + } + + private void ToggleExpanded(PermissionGroup group) + { + group.Expanded = !group.Expanded; + } + + private void ResetSelection() + { + if (_isSaving) return; - } - var result2 = await UAuthClient.Authorization.QueryRolesAsync(new RoleQuery() { Search = Role.Name }); - if (result2.Value?.Items is not null) + foreach (var item in _groups.SelectMany(g => g.Items)) { - Role = result2.Value.Items.First(); + item.Selected = _originalSelection.Contains(item.Value); } - - Snackbar.Add("Permissions updated", Severity.Success); - RefreshUI(); } - private void RefreshUI() + private async Task SaveAsync() { - var catalog = UAuthPermissionCatalog.GetAdminPermissions(); - var expanded = PermissionExpander.Expand(Role.Permissions, catalog); - var selected = expanded.Select(x => x.Value).ToHashSet(); + if (PreviewMode || _isSaving || Role is null || !HasChanges) + return; + + var permissions = _groups + .SelectMany(g => g.Items) + .Where(x => x.Selected) + .Select(x => Permission.From(x.Value)) + .ToList(); - foreach (var group in _groups) + var request = new SetRolePermissionsRequest { - foreach (var item in group.Items) + RoleId = Role.Id, + Permissions = permissions + }; + + _isSaving = true; + + try + { + var result = await UAuthClient.Authorization + .SetRolePermissionsAsync(request); + + if (!result.IsSuccess) { - item.Selected = selected.Contains(item.Value); + Snackbar.Add( + result.ErrorText ?? "Failed to update permissions.", + Severity.Error); + return; } - } - StateHasChanged(); + Snackbar.Add( + "Role permissions updated successfully.", + Severity.Success); + + MudDialog.Close(DialogResult.Ok(true)); + } + catch (Exception) + { + Snackbar.Add( + "An unexpected error occurred while updating permissions.", + Severity.Error); + } + finally + { + _isSaving = false; + } } - private void Cancel() => MudDialog.Cancel(); + private void Cancel() + { + if (!_isSaving) + MudDialog.Cancel(); + } - private class PermissionGroup + private sealed class PermissionGroup { public string Name { get; set; } = ""; - public List Items { get; set; } = new(); + public bool Expanded { get; set; } + public List Items { get; set; } = []; } - private class PermissionItem + private sealed class PermissionItem { public string Value { get; set; } = ""; public bool Selected { get; set; } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor.css new file mode 100644 index 00000000..d40cea9f --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/PermissionDialog.razor.css @@ -0,0 +1,195 @@ +.lab-permission-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-permission-header-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 40px; + height: 40px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-permission-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-permission-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-permission-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-permission-content { + display: flex; + flex-direction: column; + gap: 18px; + min-width: 0; +} + +.lab-permission-summary { + display: flex; + flex-direction: column; + gap: 11px; + padding: 16px; + background: var(--mud-palette-background); + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; +} + + .lab-permission-summary > div:first-child { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + } + + .lab-permission-summary span { + font-size: .77rem; + color: var(--mud-palette-text-secondary); + } + + .lab-permission-summary strong { + font-size: .9rem; + font-weight: 750; + } + +.lab-permission-toolbar { + display: flex; + align-items: center; + gap: 12px; +} + + .lab-permission-toolbar ::deep .mud-input-control { + flex: 1; + min-width: 0; + } + +.lab-permission-groups { + display: flex; + flex-direction: column; + gap: 10px; +} + +.lab-permission-group { + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; + overflow: hidden; +} + +.lab-permission-group-header { + display: flex; + align-items: center; + gap: 8px; + padding: 10px 13px; + background: var(--mud-palette-background); +} + +.lab-permission-group-heading { + display: flex; + flex-direction: column; + gap: 4px; + flex: 1; + min-width: 0; +} + + .lab-permission-group-heading strong { + font-size: .83rem; + font-weight: 750; + } + + .lab-permission-group-heading span { + font-size: .7rem; + color: var(--mud-palette-text-secondary); + } + +.lab-permission-items { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 2px 12px; + padding: 12px 15px; + border-top: 1px solid var(--mud-palette-lines-default); +} + +.lab-permission-item { + display: flex; + align-items: center; + gap: 8px; + min-width: 0; + padding: 5px 0; +} + + .lab-permission-item span { + font-size: .75rem; + overflow-wrap: anywhere; + } + +.lab-permission-empty { + display: flex; + align-items: center; + flex-direction: column; + gap: 10px; + padding: 30px 15px; + text-align: center; + color: var(--mud-palette-text-secondary); +} + + .lab-permission-empty strong { + font-size: .85rem; + } + + .lab-permission-empty span { + font-size: .73rem; + } + +.lab-permission-hint { + display: flex; + align-items: flex-start; + gap: 9px; + padding: 12px 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); + color: var(--mud-palette-text-secondary); +} + + .lab-permission-hint span { + font-size: .72rem; + line-height: 1.6; + } + +.lab-permission-actions { + display: flex; + align-items: center; + justify-content: flex-end; + gap: 8px; + width: 100%; +} + +@media (max-width: 600px) { + .lab-permission-items { + grid-template-columns: 1fr; + } + + .lab-permission-summary { + padding: 13px; + } + + .lab-permission-toolbar { + gap: 6px; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor index 26863c14..8cbf17d3 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor @@ -1,92 +1,187 @@ @inject IUAuthClient UAuthClient @inject ISnackbar Snackbar -@inject IDialogService DialogService - + - Identifier Management - - @if (UserKey is null) - { - User: @AuthState?.Identity?.DisplayName - } - else - { - UserKey: @UserKey.Value - } - +
+
+ +
+ +
+ Edit Profile + + Update identity details and personal preferences. + +
+
+ - - - - - - Name - - - - - - - - - - - - - - - - - - - Personal - - - - - - - - - - - - - - - - - - - Localization - - - - - - - - - - - @foreach (var tz in TimeZoneInfo.GetSystemTimeZones()) - { - @tz.Id - @tz.DisplayName - } - - - - - - - - - + @if (_isLoading) + { + + } + else if (_loadError is not null) + { + + @_loadError + + } + else + { + +
+ @if (PreviewMode) + { + + Preview mode is active. Profile changes cannot be saved. + + } + +
+
+ +
+ Basic Information + How this identity appears throughout the application. +
+
+ +
+ + + + +
+ +
+
+
+ + + +
+
+ +
+ Personal Details + Optional information associated with this profile. +
+
+ +
+ + + + +
+ +
+
+
+ + + +
+
+ +
+ Localization + Language, time zone and culture preferences. +
+
+ +
+ + + + +
+ + @foreach (var tz in _timeZones) + { + + @tz.Id + + } + +
+
+
+
+
+ }
+ - Cancel - Save +
+ + Cancel + + + + Save Changes + +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor.cs index 673a3610..c185ed5a 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor.cs @@ -10,6 +10,7 @@ namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs; public partial class ProfileDialog { private MudForm? _form; + private string? _firstName; private string? _lastName; private string? _displayName; @@ -20,95 +21,149 @@ public partial class ProfileDialog private string? _timeZone; private string? _culture; + private bool _isLoading = true; + private bool _isSaving; + private string? _loadError; + + private readonly IReadOnlyList _timeZones = + TimeZoneInfo.GetSystemTimeZones(); + [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } [Parameter] public UserKey? UserKey { get; set; } + [Parameter] + public bool PreviewMode { get; set; } + + [Parameter] + public string? PreviewDisplayName { get; set; } + protected override async Task OnInitializedAsync() { - UAuthResult result; + if (PreviewMode) + { + LoadPreviewData(); + _isLoading = false; + return; + } - if (UserKey is null) + try { - result = await UAuthClient.Users.GetMeAsync(); + UAuthResult result = UserKey is null + ? await UAuthClient.Users.GetMeAsync() + : await UAuthClient.Users.GetUserAsync(UserKey.Value); + + if (!result.IsSuccess || result.Value is null) + { + _loadError = result.ErrorText + ?? "Unable to load profile information."; + return; + } + + var profile = result.Value; + + _firstName = profile.FirstName; + _lastName = profile.LastName; + _displayName = profile.DisplayName; + _birthDate = profile.BirthDate? + .ToDateTime(TimeOnly.MinValue); + _gender = profile.Gender; + _bio = profile.Bio; + _language = profile.Language; + _timeZone = profile.TimeZone; + _culture = profile.Culture; } - else + catch (Exception) { - result = await UAuthClient.Users.GetUserAsync(UserKey.Value); + _loadError = "An unexpected error occurred while loading the profile."; } - - if (result.IsSuccess && result.Value is not null) + finally { - var p = result.Value; - - _firstName = p.FirstName; - _lastName = p.LastName; - _displayName = p.DisplayName; - - _gender = p.Gender; - _birthDate = p.BirthDate?.ToDateTime(TimeOnly.MinValue); - _bio = p.Bio; - - _language = p.Language; - _timeZone = p.TimeZone; - _culture = p.Culture; + _isLoading = false; } } + private void LoadPreviewData() + { + _displayName = PreviewDisplayName ?? "Alex Morgan"; + _firstName = "Alex"; + _lastName = "Morgan"; + _birthDate = null; + _gender = null; + _bio = "Exploring identity management with UltimateAuth."; + _language = "en"; + _culture = "en-US"; + _timeZone = "UTC"; + } + private async Task SaveAsync() { - if (AuthState is null || AuthState.Identity is null) - { - Snackbar.Add("No AuthState found.", Severity.Error); + if (PreviewMode || _isLoading || _isSaving || _loadError is not null) return; - } - if (_form is not null) - { - await _form.ValidateAsync(); - if (!_form.IsValid) - return; - } + if (_form is null) + return; + + await _form.ValidateAsync(); + + if (!_form.IsValid) + return; var request = new UpdateProfileRequest { - FirstName = _firstName, - LastName = _lastName, - DisplayName = _displayName, - BirthDate = _birthDate.HasValue ? DateOnly.FromDateTime(_birthDate.Value) : null, - Gender = _gender, + FirstName = _firstName?.Trim(), + LastName = _lastName?.Trim(), + DisplayName = _displayName?.Trim(), + BirthDate = _birthDate.HasValue + ? DateOnly.FromDateTime(_birthDate.Value) + : null, + Gender = _gender?.Trim(), Bio = _bio, - Language = _language, + Language = _language?.Trim(), TimeZone = _timeZone, - Culture = _culture + Culture = _culture?.Trim() }; - UAuthResult result; + _isSaving = true; - if (UserKey is null) + try { - result = await UAuthClient.Users.UpdateMyProfileAsync(request); - } - else - { - result = await UAuthClient.Users.UpdateUserProfileAsync(UserKey.Value, request); - } + UAuthResult result = UserKey is null + ? await UAuthClient.Users.UpdateMyProfileAsync(request) + : await UAuthClient.Users.UpdateUserProfileAsync( + UserKey.Value, request); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to update profile.", + Severity.Error); + return; + } - if (result.IsSuccess) - { - Snackbar.Add("Profile updated", Severity.Success); + Snackbar.Add("Profile updated successfully.", Severity.Success); MudDialog.Close(DialogResult.Ok(true)); } - else + catch (Exception) { - Snackbar.Add(result.ErrorText ?? "Failed to update profile", Severity.Error); + Snackbar.Add( + "An unexpected error occurred while saving the profile.", + Severity.Error); + } + finally + { + _isSaving = false; } } - private void Cancel() => MudDialog.Cancel(); + private void Cancel() + { + if (!_isSaving) + MudDialog.Cancel(); + } } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor.css new file mode 100644 index 00000000..db0f0012 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ProfileDialog.razor.css @@ -0,0 +1,105 @@ +.lab-profile-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-profile-header-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 40px; + height: 40px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-profile-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-profile-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + letter-spacing: -.3px; + } + + .lab-profile-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-profile-content { + display: flex; + flex-direction: column; + gap: 22px; + padding: 4px 0; +} + +.lab-profile-section { + display: flex; + flex-direction: column; + gap: 17px; +} + +.lab-profile-section-heading { + display: flex; + align-items: flex-start; + gap: 12px; +} + + .lab-profile-section-heading > div { + display: flex; + flex-direction: column; + gap: 4px; + } + + .lab-profile-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-profile-section-heading span { + font-size: .73rem; + line-height: 1.5; + color: var(--mud-palette-text-secondary); + } + +.lab-profile-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 15px; +} + +.lab-profile-full { + grid-column: 1 / -1; + min-width: 0; +} + +.lab-profile-actions { + display: flex; + justify-content: flex-end; + align-items: center; + gap: 8px; + width: 100%; +} + +@media (max-width: 600px) { + .lab-profile-grid { + grid-template-columns: 1fr; + } + + .lab-profile-full { + grid-column: auto; + } + + .lab-profile-content { + gap: 18px; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor index 4809f4f7..bcd8505e 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor @@ -1,34 +1,142 @@ @inject IUAuthClient UAuthClient @inject ISnackbar Snackbar -@inject IDialogService DialogService -@inject IUAuthStateManager StateManager @inject NavigationManager Nav - + - Reset Credential +
+
+ +
+
+ Reset Password + + Recover access to your account securely. + +
+
- - - In this development sample, reset codes are written to the server console by a custom ICredentialResetNotifier. - Production applications should send them through a trusted email or SMS channel. - - - Reset request always returns ok even with not found users due to security reasons. - - - Request Reset - @if (_resetRequested) +
+ @if (PreviewMode) { - Your reset code is on the server console. - Use Reset Code + + Preview mode is active. No reset request will be sent. + } - + + @if (!_resetRequested) + { +
+
+ +
+ Forgot your password? + + Enter your username or email address to request + a password reset code. + +
+ + + +
+ + + For security, reset requests do not disclose + whether an account exists. + +
+ + + Request Reset Code + + } + else + { +
+
+ +
+ + Reset Request Received + + + If an eligible account matches the information + provided, a reset code will be generated. + + +
+ + @_identifier +
+
+ + @if (!PreviewMode) + { + + In this development sample, reset codes are + written to the server console by the configured + credential reset notifier. Production applications + should deliver codes through a trusted channel. + + } + + + Continue to Password Reset + + + + Use a Different Identifier + + } +
- Close +
+ + Close + +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor.cs index 96251caf..4d4c43be 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor.cs @@ -2,39 +2,117 @@ using CodeBeam.UltimateAuth.Core.Domain; using CodeBeam.UltimateAuth.Credentials.Contracts; using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Web; using MudBlazor; namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs; public partial class ResetDialog { - private bool _resetRequested = false; - private string? _identifier; - [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } + + [Parameter] + public bool PreviewMode { get; set; } + + private bool _resetRequested; + private bool _isSubmitting; + private string? _identifier; private async Task RequestResetAsync() { - var request = new BeginResetCredentialRequest - { - CredentialType = CredentialType.Password, - ResetCodeType = ResetCodeType.Code, - Identifier = _identifier ?? string.Empty - }; + if (_isSubmitting || string.IsNullOrWhiteSpace(_identifier)) + return; - var result = await UAuthClient.Credentials.BeginResetAsync(request); - if (!result.IsSuccess || result.Value is null) + if (PreviewMode) { - Snackbar.Add(result.ErrorText ?? "Failed to request credential reset.", Severity.Error); + _resetRequested = true; return; } - _resetRequested = true; + _isSubmitting = true; + + try + { + var request = new BeginResetCredentialRequest + { + CredentialType = CredentialType.Password, + ResetCodeType = ResetCodeType.Code, + Identifier = _identifier.Trim() + }; + + var result = await UAuthClient.Credentials + .BeginResetAsync(request); + + if (!result.IsSuccess || result.Value is null) + { + Snackbar.Add( + result.ErrorText ?? + "Failed to request password reset.", + Severity.Error); + return; + } + + _resetRequested = true; + } + catch (Exception) + { + Snackbar.Add( + "Unable to request password reset.", + Severity.Error); + } + finally + { + _isSubmitting = false; + } } - private void Cancel() => MudDialog.Cancel(); + private Task HandleKeyDownAsync(KeyboardEventArgs args) + { + if (args.Key == "Enter") + return RequestResetAsync(); + + return Task.CompletedTask; + } + + private Task ContinueResetAsync() + { + if (PreviewMode) + { + Snackbar.Add( + "Navigation is disabled in preview mode.", + Severity.Info); + return Task.CompletedTask; + } + + if (!_resetRequested || string.IsNullOrWhiteSpace(_identifier)) + return Task.CompletedTask; + + var encodedIdentifier = Uri.EscapeDataString(_identifier.Trim()); + + MudDialog.Close(); + + Nav.NavigateTo( + $"/reset?uauth_identifier={encodedIdentifier}"); + + return Task.CompletedTask; + } + + private void StartOver() + { + if (_isSubmitting) + return; + + _resetRequested = false; + _identifier = null; + } + + private void Cancel() + { + if (!_isSubmitting) + MudDialog.Cancel(); + } } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor.css new file mode 100644 index 00000000..75cbba2d --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResetDialog.razor.css @@ -0,0 +1,138 @@ +.lab-reset-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-reset-header-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 40px; + height: 40px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-reset-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-reset-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-reset-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-reset-content { + display: flex; + flex-direction: column; + gap: 18px; + min-width: 0; +} + +.lab-reset-intro, +.lab-reset-success { + display: flex; + align-items: center; + flex-direction: column; + gap: 11px; + text-align: center; + padding: 16px 12px 8px; +} + +.lab-reset-illustration, +.lab-reset-success-icon { + display: flex; + align-items: center; + justify-content: center; + width: 68px; + height: 68px; + border-radius: 18px; +} + +.lab-reset-illustration { + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); +} + +.lab-reset-success-icon { + color: var(--mud-palette-success); + background: var(--mud-palette-success-hover); +} + +.lab-reset-intro strong, +.lab-reset-success strong { + font-size: 1rem; + font-weight: 750; +} + +.lab-reset-intro > span, +.lab-reset-success > span { + max-width: 310px; + font-size: .78rem; + line-height: 1.65; + color: var(--mud-palette-text-secondary); +} + +.lab-reset-security-note { + display: flex; + align-items: flex-start; + gap: 9px; + padding: 12px 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); + color: var(--mud-palette-text-secondary); +} + + .lab-reset-security-note span { + font-size: .72rem; + line-height: 1.6; + } + +.lab-reset-identifier { + display: flex; + align-items: center; + justify-content: center; + gap: 9px; + width: 100%; + padding: 12px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 10px; + background: var(--mud-palette-background); +} + + .lab-reset-identifier span { + font-size: .78rem; + overflow-wrap: anywhere; + } + +.lab-reset-actions { + display: flex; + justify-content: flex-end; + width: 100%; +} + +@media (max-width: 600px) { + .lab-reset-intro, + .lab-reset-success { + padding: 10px 4px 4px; + } + + .lab-reset-illustration, + .lab-reset-success-icon { + width: 60px; + height: 60px; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor index 448d9c1d..db13e910 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor @@ -2,53 +2,245 @@ @inject SampleProductApiService Api @inject ISnackbar Snackbar - - + - Resource Api - Sample demonstration of a resource. +
+
+ +
+
+ Resource API + + Explore authenticated API resource operations. + +
+
- Reload - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add - - - - +
+ @if (PreviewMode) + { + + Preview mode is active. Products are examples and + no API requests will be sent. + + } + +
+
+ +
+ +
+ Protected Resource + + This sample demonstrates how an authenticated + client interacts with a protected Resource API. + +
+ + + API + +
+ +
+
+ Products + Browse and manage sample resource records. +
+ + +
+ + @if (_isLoading) + { + + } + else if (_loadError is not null) + { + + @_loadError + + } + else if (PreviewMode) + { +
+ @foreach (var product in _previewProducts) + { +
+
+ +
+ +
+ @product.Name + Product #@product.Id +
+ + + + +
+ } +
+ } + else + { + + + + + + +
+ + @context.Item.Name +
+
+
+ + + + + + + + + + + + + + +
+ + + + +
+ } + + @if (_editingProduct is not null) + { +
+
+ Edit Product + Update the selected resource record. +
+ + + +
+ + Cancel + + + + Save Changes + +
+
+ } + + + +
+ Create Product + Add a new record to the protected resource. +
+ +
+ + + + Add Product + +
+ +
+ + + Resource operations are performed through + SampleProductApiService. Authorization is enforced + by the Resource API, not by this dialog. + +
+
-
\ No newline at end of file + +
+ + Close + +
+
+
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor.cs index 5c861ecc..f7e0c4c2 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor.cs @@ -11,82 +11,218 @@ public partial class ResourceApiDialog private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } - private List _products = new List(); - private string? _newName = null; + [Parameter] + public bool PreviewMode { get; set; } + + private List _products = []; + private string? _newName; + + private SampleProduct? _editingProduct; + private string? _editingName; - protected override async Task OnAfterRenderAsync(bool firstRender) + private bool _isLoading; + private bool _isBusy; + private string? _loadError; + + private readonly List _previewProducts = + [ + new(1, "Sample Laptop"), + new(2, "Wireless Keyboard"), + new(3, "USB-C Hub"), + new(4, "External Monitor") + ]; + + protected override async Task OnInitializedAsync() { - if (firstRender) - { - _products = (await Api.GetAllAsync()).Value ?? new(); - StateHasChanged(); - } + if (PreviewMode) + return; + + await GetProductsAsync(); } - private async Task CommittedItemChanges(SampleProduct item) + private async Task GetProductsAsync() { - var result = await Api.UpdateAsync(item.Id, item); + if (PreviewMode || _isBusy) + return; + + _isLoading = true; + _loadError = null; - if (result.IsSuccess) + try { - Snackbar.Add("Product updated successfully", Severity.Success); + var result = await Api.GetAllAsync(); + + if (!result.IsSuccess) + { + _loadError = result.ErrorText ?? + "Failed to load products."; + return; + } + + _products = result.Value ?? []; } - else + catch (Exception) { - Snackbar.Add(result?.ErrorText ?? "Failed to update product.", Severity.Error); + _loadError = "Unable to load resource data."; } + finally + { + _isLoading = false; + } + } + + private void BeginEdit(SampleProduct product) + { + if (PreviewMode || _isBusy) + return; - return DataGridEditFormAction.Close; + _editingProduct = product; + _editingName = product.Name; } - private async Task GetProducts() + private void CancelEdit() { - var result = await Api.GetAllAsync(); + _editingProduct = null; + _editingName = null; + } + + private async Task SaveProductAsync() + { + if (PreviewMode || _isBusy || _editingProduct is null || + string.IsNullOrWhiteSpace(_editingName)) + return; + + _isBusy = true; + bool success = false; + + try + { + var product = new SampleProduct + { + Id = _editingProduct.Id, + Name = _editingName.Trim() + }; + + var result = await Api.UpdateAsync(product.Id, product); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to update product.", + Severity.Error); + return; + } - if (result.IsSuccess) + success = true; + Snackbar.Add( + "Product updated successfully.", + Severity.Success); + CancelEdit(); + } + catch (Exception) { - _products = result.Value ?? new(); + Snackbar.Add("Unable to update product.", Severity.Error); } - else + finally { - Snackbar.Add(result.ErrorText ?? "Process failed.", Severity.Error); + _isBusy = false; } + + if (success) + await GetProductsAsync(); } - private async Task CreateProduct() + private async Task CreateProductAsync() { - var product = new SampleProduct + if (PreviewMode || _isBusy || + string.IsNullOrWhiteSpace(_newName)) + return; + + _isBusy = true; + bool success = false; + + try { - Name = _newName - }; + var product = new SampleProduct + { + Name = _newName.Trim() + }; + + var result = await Api.CreateAsync(product); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to create product.", + Severity.Error); + return; + } - var result = await Api.CreateAsync(product); + success = true; + _newName = null; - if (result.IsSuccess) + Snackbar.Add( + "Product created successfully.", + Severity.Success); + } + catch (Exception) { - Snackbar.Add("New product created."); - _products = (await Api.GetAllAsync()).Value ?? new(); + Snackbar.Add("Unable to create product.", Severity.Error); } - else + finally { - Snackbar.Add(result.ErrorText ?? "Process failed.", Severity.Error); + _isBusy = false; } + + if (success) + await GetProductsAsync(); } - private async Task DeleteProduct(int id) + private async Task DeleteProductAsync(int id) { - var result = await Api.DeleteAsync(id); + if (PreviewMode || _isBusy) + return; - if (result.IsSuccess) + _isBusy = true; + bool success = false; + + try + { + var result = await Api.DeleteAsync(id); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to delete product.", + Severity.Error); + return; + } + + success = true; + Snackbar.Add( + "Product deleted successfully.", + Severity.Success); + } + catch (Exception) { - Snackbar.Add("Product deleted succesfully.", Severity.Success); - _products = (await Api.GetAllAsync()).Value ?? new(); + Snackbar.Add("Unable to delete product.", Severity.Error); } - else + finally { - Snackbar.Add(result.ErrorText ?? "Process failed.", Severity.Error); + _isBusy = false; } + + if (success) + await GetProductsAsync(); } + + private void Close() + { + if (!_isBusy) + MudDialog.Close(); + } + + private sealed record PreviewProduct(int Id, string Name); } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor.css new file mode 100644 index 00000000..72e26b95 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/ResourceApiDialog.razor.css @@ -0,0 +1,228 @@ +.lab-resource-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-resource-header-icon, +.lab-resource-overview-icon, +.lab-resource-card-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-resource-header-icon { + width: 40px; + height: 40px; +} + +.lab-resource-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-resource-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-resource-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-resource-content { + display: flex; + flex-direction: column; + gap: 19px; + min-width: 0; +} + +.lab-resource-overview { + display: flex; + align-items: center; + gap: 12px; + padding: 15px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; + background: var(--mud-palette-background); +} + +.lab-resource-overview-icon { + width: 43px; + height: 43px; +} + +.lab-resource-overview-info { + display: flex; + flex-direction: column; + gap: 5px; + flex: 1; + min-width: 0; +} + + .lab-resource-overview-info strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-resource-overview-info span { + font-size: .73rem; + line-height: 1.5; + color: var(--mud-palette-text-secondary); + } + +.lab-resource-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.lab-resource-section-heading { + display: flex; + flex-direction: column; + gap: 4px; +} + + .lab-resource-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-resource-section-heading span { + font-size: .73rem; + line-height: 1.5; + color: var(--mud-palette-text-secondary); + } + +.lab-resource-grid { + overflow-x: auto; +} + +.lab-resource-grid-product { + display: flex; + align-items: center; + gap: 9px; +} + + .lab-resource-grid-product strong { + font-size: .8rem; + } + +.lab-resource-list { + display: flex; + flex-direction: column; + gap: 10px; +} + +.lab-resource-card { + display: flex; + align-items: center; + gap: 12px; + padding: 13px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; +} + +.lab-resource-card-icon { + width: 38px; + height: 38px; +} + +.lab-resource-card-info { + display: flex; + flex-direction: column; + gap: 5px; + flex: 1; + min-width: 0; +} + + .lab-resource-card-info strong { + font-size: .82rem; + } + + .lab-resource-card-info span { + font-size: .72rem; + color: var(--mud-palette-text-secondary); + } + +.lab-resource-create { + display: flex; + align-items: flex-start; + gap: 12px; +} + + .lab-resource-create ::deep .mud-input-control { + flex: 1; + min-width: 0; + } + + .lab-resource-create ::deep .mud-button-root { + flex-shrink: 0; + min-height: 40px; + } + +.lab-resource-edit { + display: flex; + flex-direction: column; + gap: 13px; + padding: 15px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; +} + +.lab-resource-edit-actions { + display: flex; + justify-content: flex-end; + gap: 8px; +} + +.lab-resource-hint { + display: flex; + align-items: flex-start; + gap: 9px; + padding: 12px 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); + color: var(--mud-palette-text-secondary); +} + + .lab-resource-hint span { + font-size: .72rem; + line-height: 1.6; + } + +.lab-resource-actions { + display: flex; + justify-content: flex-end; + width: 100%; +} + +@media (max-width: 600px) { + .lab-resource-overview { + flex-wrap: wrap; + } + + .lab-resource-create { + flex-direction: column; + align-items: stretch; + } + + .lab-resource-create ::deep .mud-button-root { + width: 100%; + } + + .lab-resource-card { + flex-wrap: wrap; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor index b78db16f..e105459d 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor @@ -4,78 +4,252 @@ @inject ISnackbar Snackbar @inject IDialogService DialogService - - + - Role Management - Manage system roles +
+
+ +
+
+ Role Management + + Create roles and manage their permissions. + +
+
- +
+ @if (PreviewMode) + { + + Preview mode is active. Role changes are disabled. + + } + +
+
+ System Roles + Roles available in the authorization system. +
+ +
+ + @if (PreviewMode) + { +
+ @foreach (var role in _previewRoles) + { +
+
+
+ +
+
+ @role.Name + @role.Description +
+ + @role.PermissionCount permissions + +
+
+ + Rename + + + Permissions + + + +
+
+ } +
+ } + else + { + + + + +
+ + @context.Item.Name +
+
+
+ + + + + @GetPermissionCount(context.Item) + + + + + + + @if (context.Item.Permissions.Any(x => x.IsWildcard)) + { + + Wildcard + + } + else + { + — + } + + + + + + + + + + + + + + + + + + +
- - - Roles - - - - + + + +
+ } - - - - - - @GetPermissionCount(context.Item) - - - - - - - - - - - - - + @if (_editingRole is not null) + { +
+
+ Rename Role + Change the role name without changing its permissions. +
+ +
+ + Cancel + + + Save Name + +
+
+ } - - - + - - - -
-
-
-
+
+ Create Role + Add a new role to the authorization system. +
- - - - +
+ - - - - - - + + Create Role + +
- - Create - - - - +
+ + + Roles define authorization groups. Permissions can be + configured after creating a role. + +
+
- Close +
+ + Close + +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor.cs index 6447c7c4..cd04da2d 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor.cs @@ -8,20 +8,39 @@ namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs; public partial class RoleDialog { private MudDataGrid? _grid; + private bool _loading; private string? _newRoleName; + private RoleInfo? _editingRole; + private string? _editingName; [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } + + [Parameter] + public bool PreviewMode { get; set; } - private async Task> LoadServerData(GridState state, CancellationToken ct) + private readonly List _previewRoles = + [ + new("Admin", "Full administrative access.", 24), + new("Editor", "Manage application content.", 8), + new("User", "Standard user permissions.", 3), + new("Viewer", "Read-only access.", 2) + ]; + + private async Task> LoadServerData( + GridState state, + CancellationToken ct) { + if (PreviewMode) + return EmptyGrid(); + var sort = state.SortDefinitions?.FirstOrDefault(); - var req = new RoleQuery + var request = new RoleQuery { PageNumber = state.Page + 1, PageSize = state.PageSize, @@ -29,109 +48,220 @@ private async Task> LoadServerData(GridState state, Descending = sort?.Descending ?? false }; - var res = await UAuthClient.Authorization.QueryRolesAsync(req); - - if (!res.IsSuccess || res.Value == null) + try { - Snackbar.Add(res.ErrorText ?? "Failed", Severity.Error); + var result = await UAuthClient.Authorization + .QueryRolesAsync(request); + + if (!result.IsSuccess || result.Value is null) + { + Snackbar.Add( + result.ErrorText ?? "Failed to load roles.", + Severity.Error); + + return EmptyGrid(); + } return new GridData { - Items = Array.Empty(), - TotalItems = 0 + Items = result.Value.Items, + TotalItems = result.Value.TotalCount }; } - - return new GridData + catch (Exception) { - Items = res.Value.Items, - TotalItems = res.Value.TotalCount - }; + Snackbar.Add("Unable to load roles.", Severity.Error); + return EmptyGrid(); + } + } + + private static GridData EmptyGrid() => new() + { + Items = Array.Empty(), + TotalItems = 0 + }; + + private async Task ReloadAsync() + { + if (PreviewMode || _grid is null || _loading) + return; + + await _grid.ReloadServerData(); + } + + private void BeginRename(RoleInfo role) + { + if (PreviewMode || _loading) + return; + + _editingRole = role; + _editingName = role.Name; } - private async Task CommittedItemChanges(RoleInfo role) + private void CancelRename() { - var req = new RenameRoleRequest + _editingRole = null; + _editingName = null; + } + + private async Task SaveRenameAsync() + { + if (PreviewMode || _loading || _editingRole is null || + string.IsNullOrWhiteSpace(_editingName)) + return; + + var request = new RenameRoleRequest { - Id = role.Id, - Name = role.Name + Id = _editingRole.Id, + Name = _editingName.Trim() }; - var result = await UAuthClient.Authorization.RenameRoleAsync(req); + _loading = true; + bool success = false; + + try + { + var result = await UAuthClient.Authorization + .RenameRoleAsync(request); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to rename role.", + Severity.Error); + return; + } - if (result.IsSuccess) + success = true; + Snackbar.Add("Role renamed successfully.", Severity.Success); + CancelRename(); + } + catch (Exception) { - Snackbar.Add("Role renamed", Severity.Success); + Snackbar.Add("Unable to rename role.", Severity.Error); } - else + finally { - Snackbar.Add(result.ErrorText ?? "Rename failed", Severity.Error); + _loading = false; } - await ReloadAsync(); - return DataGridEditFormAction.Close; + if (success) + await ReloadAsync(); } - private async Task CreateRole() + private async Task CreateRoleAsync() { - if (string.IsNullOrWhiteSpace(_newRoleName)) - { - Snackbar.Add("Role name required.", Severity.Warning); + if (PreviewMode || _loading || + string.IsNullOrWhiteSpace(_newRoleName)) return; - } - var req = new CreateRoleRequest + var request = new CreateRoleRequest { - Name = _newRoleName + Name = _newRoleName.Trim() }; - var res = await UAuthClient.Authorization.CreateRoleAsync(req); + _loading = true; + bool success = false; - if (res.IsSuccess) + try { - Snackbar.Add("Role created.", Severity.Success); - await ReloadAsync(); + var result = await UAuthClient.Authorization + .CreateRoleAsync(request); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to create role.", + Severity.Error); + return; + } + + success = true; + _newRoleName = null; + Snackbar.Add("Role created successfully.", Severity.Success); + } + catch (Exception) + { + Snackbar.Add("Unable to create role.", Severity.Error); } - else + finally { - Snackbar.Add(res.ErrorText ?? "Creation failed.", Severity.Error); + _loading = false; } + + if (success) + await ReloadAsync(); } - private async Task DeleteRole(RoleId roleId) + private async Task DeleteRoleAsync(RoleInfo role) { - var confirm = await DialogService.ShowMessageBoxAsync( - "Delete role", - "Are you sure?", + if (PreviewMode || _loading) + return; + + var confirmed = await DialogService.ShowMessageBoxAsync( + "Delete Role", + $"Delete the '{role.Name}' role? Existing assignments " + + "to users may also be removed.", yesText: "Delete", - cancelText: "Cancel", - options: new DialogOptions() { MaxWidth = MaxWidth.Medium, FullWidth = true, BackgroundClass = "uauth-blur-slight" }); + noText: "Cancel"); - if (confirm != true) + if (confirmed != true || _loading) return; - var req = new DeleteRoleRequest() { Id = roleId }; - var result = await UAuthClient.Authorization.DeleteRoleAsync(req); + _loading = true; + bool success = false; - if (result.IsSuccess) + try { - Snackbar.Add($"Role deleted, assignments removed from {result.Value?.RemovedAssignments.ToString() ?? "unknown"} users.", Severity.Success); - await ReloadAsync(); + var request = new DeleteRoleRequest + { + Id = role.Id + }; + + var result = await UAuthClient.Authorization + .DeleteRoleAsync(request); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to delete role.", + Severity.Error); + return; + } + + success = true; + + Snackbar.Add( + $"Role deleted. Assignments removed from " + + $"{result.Value?.RemovedAssignments.ToString() ?? "unknown"} users.", + Severity.Success); + } + catch (Exception) + { + Snackbar.Add("Unable to delete role.", Severity.Error); } - else + finally { - Snackbar.Add(result.ErrorText ?? "Deletion failed.", Severity.Error); + _loading = false; } + + if (success) + await ReloadAsync(); } private async Task EditPermissions(RoleInfo role) { + if (PreviewMode || _loading) + return; + + var parameters = new DialogParameters + { + { nameof(PermissionDialog.Role), role } + }; + var dialog = await DialogService.ShowAsync( "Edit Permissions", - new DialogParameters - { - { nameof(PermissionDialog.Role), role } - }, + parameters, new DialogOptions { CloseButton = true, @@ -139,26 +269,27 @@ private async Task EditPermissions(RoleInfo role) FullWidth = true }); - var result = await dialog.Result; + await dialog.Result; await ReloadAsync(); } - private async Task ReloadAsync() + private static int GetPermissionCount(RoleInfo role) { - _loading = true; - await Task.Delay(300); - if (_grid is null) - return; + var expanded = PermissionExpander.Expand( + role.Permissions, + UAuthPermissionCatalog.GetAdminPermissions()); - await _grid.ReloadServerData(); - _loading = false; + return expanded.Count; } - private int GetPermissionCount(RoleInfo role) + private void Close() { - var expanded = PermissionExpander.Expand(role.Permissions, UAuthPermissionCatalog.GetAdminPermissions()); - return expanded.Count; + if (!_loading) + MudDialog.Close(); } - private void Cancel() => MudDialog.Cancel(); + private sealed record PreviewRole( + string Name, + string Description, + int PermissionCount); } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor.css new file mode 100644 index 00000000..75a899e2 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/RoleDialog.razor.css @@ -0,0 +1,207 @@ +.lab-role-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-role-header-icon, +.lab-role-card-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); + border-radius: 11px; +} + +.lab-role-header-icon { + width: 40px; + height: 40px; +} + +.lab-role-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-role-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-role-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-role-content { + display: flex; + flex-direction: column; + gap: 19px; + min-width: 0; +} + +.lab-role-section-heading { + display: flex; + flex-direction: column; + gap: 4px; +} + + .lab-role-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-role-section-heading span { + font-size: .73rem; + line-height: 1.5; + color: var(--mud-palette-text-secondary); + } + +.lab-role-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.lab-role-grid { + overflow-x: auto; +} + +.lab-role-grid-name { + display: flex; + align-items: center; + gap: 9px; +} + + .lab-role-grid-name strong { + font-size: .8rem; + } + +.lab-role-list { + display: flex; + flex-direction: column; + gap: 11px; +} + +.lab-role-card { + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; + overflow: hidden; +} + +.lab-role-card-main { + display: flex; + align-items: center; + gap: 12px; + padding: 15px; +} + +.lab-role-card-icon { + width: 40px; + height: 40px; +} + +.lab-role-card-info { + display: flex; + flex-direction: column; + gap: 5px; + flex: 1; + min-width: 0; +} + + .lab-role-card-info strong { + font-size: .84rem; + } + + .lab-role-card-info span { + font-size: .73rem; + color: var(--mud-palette-text-secondary); + } + +.lab-role-card-actions { + display: flex; + align-items: center; + gap: 7px; + padding: 8px 12px; + border-top: 1px solid var(--mud-palette-lines-default); + background: var(--mud-palette-background); +} + +.lab-role-create { + display: flex; + align-items: flex-start; + gap: 12px; +} + + .lab-role-create ::deep .mud-input-control { + flex: 1; + min-width: 0; + } + + .lab-role-create ::deep .mud-button-root { + flex-shrink: 0; + min-height: 40px; + } + +.lab-role-edit { + display: flex; + flex-direction: column; + gap: 13px; + padding: 15px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; +} + +.lab-role-edit-actions { + display: flex; + justify-content: flex-end; + gap: 8px; +} + +.lab-role-hint { + display: flex; + align-items: flex-start; + gap: 9px; + padding: 12px 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); + color: var(--mud-palette-text-secondary); +} + + .lab-role-hint span { + font-size: .72rem; + line-height: 1.6; + } + +.lab-role-actions { + display: flex; + justify-content: flex-end; + width: 100%; +} + +@media (max-width: 600px) { + .lab-role-create { + flex-direction: column; + align-items: stretch; + } + + .lab-role-create ::deep .mud-button-root { + width: 100%; + } + + .lab-role-card-main { + flex-wrap: wrap; + padding: 12px; + } + + .lab-role-card-actions { + flex-wrap: wrap; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor index efba51c4..2a24534a 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor @@ -1,216 +1,341 @@ @using CodeBeam.UltimateAuth.Core.Contracts +@using CodeBeam.UltimateAuth.Core.Domain +@using CodeBeam.UltimateAuth.Users.Contracts @inject IUAuthClient UAuthClient @inject ISnackbar Snackbar @inject IDialogService DialogService -@inject IUAuthStateManager StateManager @inject NavigationManager Nav - + - Session Management - - @if (UserKey is null) - { - User: @AuthState?.Identity?.DisplayName - } - else - { - UserKey: @UserKey.Value - } - +
+
+ +
+
+ Session Management + + Review connected devices, session activity and access. + +
+
+ - @if (_chainDetail is not null) - { - - - - Device Details +
+ @if (PreviewMode) + { + + Preview mode is active. Session actions are disabled. + + } - + @if (_chainDetail is not null) + { +
+ + All Devices + @if (!_chainDetail.IsRevoked) { - + Revoke Device } - - - - - - - Device Type - @_chainDetail.DeviceType - - - - Platform - @_chainDetail.Platform - - - - Operating System - @_chainDetail.OperatingSystem - - - - Browser - @_chainDetail.Browser - - - - Created - @_chainDetail.CreatedAt.ToLocalTime() - - - - Last Seen - @_chainDetail.LastSeenAt.ToLocalTime() - - - - State - - @_chainDetail.State - - - - - Active Session - @_chainDetail.ActiveSessionId - - - - Rotation Count - @_chainDetail.RotationCount - - - - Touch Count - @_chainDetail.TouchCount - - - - - - Session History - - - - Session Id - Created - Expires - Status - - - - @context.SessionId - @context.CreatedAt.ToLocalTime() - @context.ExpiresAt.ToLocalTime() - - @if (context.IsRevoked) - { - Revoked - } - else - { - Active - } - - - - - } - else - { - - Logout All Devices - @if (UserKey == null) +
+ +
+ Device Details + Information recorded for this authentication chain. +
+ +
+
+ Device Type + @_chainDetail.DeviceType +
+
+ Platform + @_chainDetail.Platform +
+
+ Operating System + @_chainDetail.OperatingSystem +
+
+ Browser + @_chainDetail.Browser +
+
+ Created + @_chainDetail.CreatedAt.ToLocalTime().ToString("g") +
+
+ Last Seen + @_chainDetail.LastSeenAt.ToLocalTime().ToString("g") +
+
+ State + @_chainDetail.State +
+
+ Active Session + @_chainDetail.ActiveSessionId +
+
+ Rotation Count + @_chainDetail.RotationCount +
+
+ Touch Count + @_chainDetail.TouchCount +
+
+ + + +
+ Session History + Sessions associated with this device chain. +
+ +
+ @foreach (var session in _chainDetail.Sessions) + { +
+
+ + @session.SessionId + + + + @(session.IsRevoked ? "Revoked" : "Not Revoked") + +
+
+ Created: @session.CreatedAt.ToLocalTime().ToString("g") + Expires: @session.ExpiresAt.ToLocalTime().ToString("g") +
+
+ } +
+ } + else + { +
+ Device Access + Manage active device chains and terminate access when needed. +
+ +
+ + Logout All + + + @if (UserKey is null) + { + + Logout Others + + } + + + Revoke All + + + @if (UserKey is null) + { + + Revoke Others + + } +
+ + + +
+
+ Connected Devices + Authentication chains associated with this identity. +
+ + +
+ + @if (PreviewMode) { - Logout Other Devices +
+ @foreach (var device in _previewDevices) + { +
+
+
+ +
+
+ @device.Name + @device.Platform · @device.Browser +
+ @if (device.IsCurrent) + { + + Current + + } +
+
+ Last seen: @device.LastSeen + + Details + +
+
+ } +
} - Revoke All Devices - @if (UserKey == null) + else { - Revoke Other Devices + + + + +
+ @context.Item.OperatingSystem + @context.Item.Platform · @context.Item.Browser +
+
+
+ + + + + @context.Item.State + + + + + + + @if (context.Item.IsCurrentDevice) + { + + Current + + } + else + { + — + } + + + + + + + + + + + + + + + + + + + + +
+ + + + +
} - - - - Sessions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Id - @context.Item.ChainId - - - - Created At - @context.Item.CreatedAt - - - - Touch Count - @context.Item.TouchCount - - - - Rotation Count - @context.Item.RotationCount - - - - - - - - - } + } +
+ - Cancel +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor.cs index 2c5d3934..d2793e37 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor.cs @@ -10,39 +10,58 @@ namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs; public partial class SessionDialog { private MudDataGrid? _grid; - private bool _loading = false; - private bool _reloadQueued; private SessionChainDetail? _chainDetail; + private bool _loading; + private bool _reloadQueued; + + private readonly List _previewDevices = + [ + new( + "Windows Desktop", + "Windows", + "Edge", + "Just now", + true, + Icons.Material.Filled.Computer), + new( + "Mobile Device", + "Android", + "Chrome", + "2 hours ago", + false, + Icons.Material.Filled.Smartphone), + new( + "MacBook", + "macOS", + "Safari", + "Yesterday", + false, + Icons.Material.Filled.LaptopMac) + ]; + [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } [Parameter] public UserKey? UserKey { get; set; } - protected override async Task OnAfterRenderAsync(bool firstRender) - { - await base.OnAfterRenderAsync(firstRender); - - if (firstRender) - { - var result = await UAuthClient.Sessions.GetMyChainsAsync(); - if (result != null && result.IsSuccess && result.Value != null) - { - await ReloadAsync(); - StateHasChanged(); - } - } - } + [Parameter] + public bool PreviewMode { get; set; } - private async Task> LoadServerData(GridState state, CancellationToken ct) + private async Task> LoadServerData( + GridState state, + CancellationToken ct) { + if (PreviewMode) + return EmptyGrid(); + var sort = state.SortDefinitions?.FirstOrDefault(); - var req = new PageRequest + var request = new PageRequest { PageNumber = state.Page + 1, PageSize = state.PageSize, @@ -50,49 +69,53 @@ private async Task> LoadServerData(GridState> res; - - if (UserKey is null) - { - res = await UAuthClient.Sessions.GetMyChainsAsync(req); - } - else + try { - res = await UAuthClient.Sessions.GetUserChainsAsync(UserKey.Value, req); - } + UAuthResult> result = + UserKey is null + ? await UAuthClient.Sessions.GetMyChainsAsync(request) + : await UAuthClient.Sessions.GetUserChainsAsync( + UserKey.Value, request); - if (!res.IsSuccess || res.Value is null) - { - Snackbar.Add(res.Problem?.Title ?? "Failed", Severity.Error); + if (!result.IsSuccess || result.Value is null) + { + Snackbar.Add( + result.ErrorText ?? "Failed to load sessions.", + Severity.Error); + return EmptyGrid(); + } return new GridData { - Items = Array.Empty(), - TotalItems = 0 + Items = result.Value.Items, + TotalItems = result.Value.TotalCount }; } - - return new GridData + catch (Exception) { - Items = res.Value.Items, - TotalItems = res.Value.TotalCount - }; + Snackbar.Add("Unable to load sessions.", Severity.Error); + return EmptyGrid(); + } } + private static GridData EmptyGrid() => new() + { + Items = Array.Empty(), + TotalItems = 0 + }; + private async Task ReloadAsync() { + if (PreviewMode || _grid is null) + return; + if (_loading) { _reloadQueued = true; return; } - if (_grid is null) - return; - _loading = true; - await InvokeAsync(StateHasChanged); - await Task.Delay(300); try { @@ -101,184 +124,269 @@ private async Task ReloadAsync() finally { _loading = false; + } - if (_reloadQueued) - { - _reloadQueued = false; - await ReloadAsync(); - } - - await InvokeAsync(StateHasChanged); + if (_reloadQueued) + { + _reloadQueued = false; + await ReloadAsync(); } } - private async Task LogoutAllAsync() + private async Task ConfirmAsync( + string title, + string message, + string confirmText) { - UAuthResult result; + if (PreviewMode || _loading) + return false; - if (UserKey is null) - { - result = await UAuthClient.Flows.LogoutAllMyDevicesAsync(); - } - else - { - result = await UAuthClient.Flows.LogoutAllUserDevicesAsync(UserKey.Value); - } + var confirmed = await DialogService.ShowMessageBoxAsync( + title, + message, + yesText: confirmText, + noText: "Cancel"); - if (result.IsSuccess) - { - Snackbar.Add("Logged out of all devices.", Severity.Success); - if (UserKey is null) - Nav.NavigateTo("/login"); - } - else - { - Snackbar.Add(result.ErrorText ?? "Failed to logout.", Severity.Error); - } + return confirmed == true; + } + + private async Task LogoutAllAsync() + { + if (!await ConfirmAsync( + "Logout All Devices", + "All devices will be signed out, including the current device.", + "Logout All")) + return; + + await ExecuteAsync( + () => UserKey is null + ? UAuthClient.Flows.LogoutAllMyDevicesAsync() + : UAuthClient.Flows.LogoutAllUserDevicesAsync(UserKey.Value), + "All devices logged out.", + navigateOnSuccess: UserKey is null); } private async Task LogoutOthersAsync() { - var result = await UAuthClient.Flows.LogoutMyOtherDevicesAsync(); + if (!await ConfirmAsync( + "Logout Other Devices", + "Other devices will be signed out. Your current device will remain signed in.", + "Logout Others")) + return; - if (result.IsSuccess) - { - Snackbar.Add("Logged out of other devices.", Severity.Success); - } - else - { - Snackbar.Add(result?.ErrorText ?? "Failed to logout", Severity.Error); - } + await ExecuteAsync( + () => UAuthClient.Flows.LogoutMyOtherDevicesAsync(), + "Other devices logged out."); + } + + private async Task RevokeAllAsync() + { + if (!await ConfirmAsync( + "Revoke All Devices", + "All device chains will be revoked. This action may terminate your current session.", + "Revoke All")) + return; + + await ExecuteAsync( + () => UserKey is null + ? UAuthClient.Sessions.RevokeAllMyChainsAsync() + : UAuthClient.Sessions.RevokeAllUserChainsAsync(UserKey.Value), + "All device chains revoked.", + navigateOnSuccess: UserKey is null); + } + + private async Task RevokeOthersAsync() + { + if (!await ConfirmAsync( + "Revoke Other Devices", + "All device chains except the current one will be revoked.", + "Revoke Others")) + return; + + await ExecuteAsync( + () => UAuthClient.Sessions.RevokeMyOtherChainsAsync(), + "Other device chains revoked."); } private async Task LogoutDeviceAsync(SessionChainId chainId) { - LogoutDeviceRequest request = new() { ChainId = chainId }; - UAuthResult result; + if (!await ConfirmAsync( + "Logout Device", + "Sign out the selected device?", + "Logout")) + return; - if (UserKey is null) - { - result = await UAuthClient.Flows.LogoutMyDeviceAsync(request); - } - else - { - result = await UAuthClient.Flows.LogoutUserDeviceAsync(UserKey.Value, request); - } + var request = new LogoutDeviceRequest { ChainId = chainId }; - if (result.IsSuccess) - { - Snackbar.Add("Logged out of device.", Severity.Success); - if (result?.Value?.CurrentChain == true) - { - Nav.NavigateTo("/login"); - return; - } - await ReloadAsync(); - } - else - { - Snackbar.Add(result.ErrorText ?? "Failed to logout.", Severity.Error); - } + await ExecuteRevokeAsync( + () => UserKey is null + ? UAuthClient.Flows.LogoutMyDeviceAsync(request) + : UAuthClient.Flows.LogoutUserDeviceAsync( + UserKey.Value, request), + "Device logged out."); } - private async Task RevokeAllAsync() + private async Task RevokeChainAsync(SessionChainId chainId) { - UAuthResult result; + if (!await ConfirmAsync( + "Revoke Device", + "Revoke this device chain and invalidate its access?", + "Revoke")) + return; - if (UserKey is null) - { - result = await UAuthClient.Sessions.RevokeAllMyChainsAsync(); - } - else - { - result = await UAuthClient.Sessions.RevokeAllUserChainsAsync(UserKey.Value); - } + await ExecuteRevokeAsync( + () => UserKey is null + ? UAuthClient.Sessions.RevokeMyChainAsync(chainId) + : UAuthClient.Sessions.RevokeUserChainAsync( + UserKey.Value, chainId), + "Device revoked."); + } - if (result.IsSuccess) + private async Task ExecuteAsync( + Func> operation, + string successMessage, + bool navigateOnSuccess = false) + { + if (PreviewMode || _loading) + return; + + _loading = true; + var succeeded = false; + + try { - Snackbar.Add("Logged out of all devices.", Severity.Success); + var result = await operation(); - if (UserKey is null) - Nav.NavigateTo("/login"); + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Session operation failed.", + Severity.Error); + return; + } + + succeeded = true; + Snackbar.Add(successMessage, Severity.Success); } - else + catch (Exception) { - Snackbar.Add(result?.ErrorText ?? "Failed to logout.", Severity.Error); + Snackbar.Add("Session operation failed.", Severity.Error); } - } - - private async Task RevokeOthersAsync() - { - var result = await UAuthClient.Sessions.RevokeMyOtherChainsAsync(); - if (result.IsSuccess) + finally { - Snackbar.Add("Revoked all other devices.", Severity.Success); - await ReloadAsync(); + _loading = false; } - else + + if (!succeeded) + return; + + if (navigateOnSuccess) { - Snackbar.Add(result?.ErrorText ?? "Failed to logout.", Severity.Error); + Nav.NavigateTo("/login"); + return; } + + await ReloadAsync(); } - private async Task RevokeChainAsync(SessionChainId chainId) + private async Task ExecuteRevokeAsync( + Func>> operation, + string successMessage) { - UAuthResult result; + if (PreviewMode || _loading) + return; - if (UserKey is null) - { - result = await UAuthClient.Sessions.RevokeMyChainAsync(chainId); - } - else - { - result = await UAuthClient.Sessions.RevokeUserChainAsync(UserKey.Value, chainId); - } + _loading = true; + bool currentChain = false; + bool succeeded = false; - if (result.IsSuccess) + try { - Snackbar.Add("Device revoked successfully.", Severity.Success); + var result = await operation(); - if (result?.Value?.CurrentChain == true) + if (!result.IsSuccess) { - Nav.NavigateTo("/login"); + Snackbar.Add( + result.ErrorText ?? "Session operation failed.", + Severity.Error); return; } - await ReloadAsync(); + + succeeded = true; + currentChain = result.Value?.CurrentChain == true; + + Snackbar.Add(successMessage, Severity.Success); } - else + catch (Exception) { - Snackbar.Add(result?.ErrorText ?? "Failed to logout.", Severity.Error); + Snackbar.Add("Session operation failed.", Severity.Error); } + finally + { + _loading = false; + } + + if (!succeeded) + return; + + if (currentChain) + { + Nav.NavigateTo("/login"); + return; + } + + _chainDetail = null; + await ReloadAsync(); } private async Task ShowChainDetailsAsync(SessionChainId chainId) { - UAuthResult result; + if (PreviewMode || _loading) + return; - if (UserKey is null) - { - result = await UAuthClient.Sessions.GetMyChainDetailAsync(chainId); - } - else - { - result = await UAuthClient.Sessions.GetUserChainDetailAsync(UserKey.Value, chainId); - } + _loading = true; - if (result.IsSuccess) + try { + UAuthResult result = + UserKey is null + ? await UAuthClient.Sessions.GetMyChainDetailAsync(chainId) + : await UAuthClient.Sessions.GetUserChainDetailAsync( + UserKey.Value, chainId); + + if (!result.IsSuccess || result.Value is null) + { + Snackbar.Add( + result.ErrorText ?? "Failed to load device details.", + Severity.Error); + return; + } + _chainDetail = result.Value; } - else + catch (Exception) { - Snackbar.Add(result?.ErrorText ?? "Failed to fetch chain details.", Severity.Error); - _chainDetail = null; + Snackbar.Add("Failed to load device details.", Severity.Error); + } + finally + { + _loading = false; } } - private void ClearDetail() + private void ClearDetail() => _chainDetail = null; + + private void Cancel() { - _chainDetail = null; + if (!_loading) + MudDialog.Cancel(); } - private void Cancel() => MudDialog.Cancel(); + private sealed record PreviewDevice( + string Name, + string Platform, + string Browser, + string LastSeen, + bool IsCurrent, + string Icon); } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor.css new file mode 100644 index 00000000..9173093a --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/SessionDialog.razor.css @@ -0,0 +1,243 @@ +.lab-session-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-session-header-icon, +.lab-session-device-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); + border-radius: 11px; +} + +.lab-session-header-icon { + width: 40px; + height: 40px; +} + +.lab-session-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-session-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-session-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-session-content { + display: flex; + flex-direction: column; + gap: 19px; + min-width: 0; +} + +.lab-session-section-heading { + display: flex; + flex-direction: column; + gap: 4px; +} + + .lab-session-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-session-section-heading span { + color: var(--mud-palette-text-secondary); + font-size: .73rem; + line-height: 1.5; + } + +.lab-session-bulk-actions { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.lab-session-list-heading, +.lab-session-detail-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.lab-session-grid { + overflow-x: auto; +} + +.lab-session-grid-device { + display: flex; + flex-direction: column; + gap: 5px; + min-width: 130px; +} + + .lab-session-grid-device strong { + font-size: .8rem; + } + + .lab-session-grid-device span { + font-size: .72rem; + color: var(--mud-palette-text-secondary); + } + +.lab-session-device-list { + display: flex; + flex-direction: column; + gap: 11px; +} + +.lab-session-device-card { + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; + overflow: hidden; +} + +.lab-session-device-top { + display: flex; + align-items: center; + gap: 12px; + padding: 15px; +} + +.lab-session-device-icon { + width: 42px; + height: 42px; +} + +.lab-session-device-info { + display: flex; + flex-direction: column; + gap: 5px; + flex: 1; + min-width: 0; +} + + .lab-session-device-info strong { + font-size: .84rem; + } + + .lab-session-device-info span { + font-size: .73rem; + color: var(--mud-palette-text-secondary); + } + +.lab-session-device-bottom { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; + padding: 8px 14px; + background: var(--mud-palette-background); + border-top: 1px solid var(--mud-palette-lines-default); +} + + .lab-session-device-bottom span { + font-size: .72rem; + color: var(--mud-palette-text-secondary); + } + +.lab-session-detail-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 10px; +} + +.lab-session-detail-item { + display: flex; + flex-direction: column; + gap: 7px; + padding: 13px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 10px; + min-width: 0; +} + + .lab-session-detail-item span { + font-size: .72rem; + color: var(--mud-palette-text-secondary); + } + + .lab-session-detail-item strong { + font-size: .79rem; + font-weight: 650; + } + +.lab-session-break { + overflow-wrap: anywhere; + word-break: break-word; +} + +.lab-session-history { + display: flex; + flex-direction: column; + gap: 10px; +} + +.lab-session-history-item { + display: flex; + flex-direction: column; + gap: 10px; + padding: 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 10px; +} + +.lab-session-history-top { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + + .lab-session-history-top > span { + font-size: .78rem; + } + +.lab-session-history-dates { + display: flex; + flex-wrap: wrap; + gap: 8px 20px; + color: var(--mud-palette-text-secondary); + font-size: .72rem; +} + +.lab-session-footer { + display: flex; + justify-content: flex-end; + width: 100%; +} + +@media (max-width: 600px) { + .lab-session-detail-grid { + grid-template-columns: 1fr; + } + + .lab-session-device-top { + padding: 12px; + flex-wrap: wrap; + } + + .lab-session-bulk-actions ::deep .mud-button-root { + flex: 1 1 calc(50% - 8px); + } + + .lab-session-detail-toolbar { + flex-wrap: wrap; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor index 97631deb..25be39b8 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor @@ -3,71 +3,190 @@ @inject IDialogService DialogService @inject ISnackbar Snackbar - + - User Management - @_user?.UserKey.Value +
+
+ +
+
+ User Management + + Review identity details and manage account access. + +
+
- - - - - Display Name - @_user?.DisplayName - - - - Username - @_user?.UserName - - - - Email - @_user?.PrimaryEmail - - - - Phone - @_user?.PrimaryPhone - - - - Created - @_user?.CreatedAt?.ToLocalTime() - - - - Status - @_user?.Status - - - @foreach (var s in Enum.GetValues()) - { - @s - } - - Change - - - - - - - - Management - - Sessions - Profile - Identifiers - Credentials - Roles - - +
+ @if (PreviewMode) + { + + Preview mode is active. User management actions are disabled. + + } + + @if (_isLoading) + { + + } + else if (_loadError is not null) + { + + @_loadError + + } + else if (_user is not null || PreviewMode) + { +
+
+ +
+ +
+ @DisplayName + @UserName +
+ + + @CurrentStatus + +
+ +
+ Identity Information + Primary account information and registration details. +
+ +
+
+ Display Name + @DisplayName +
+ +
+ Username + @UserName +
+ +
+ Email + @PrimaryEmail +
+ +
+ Phone + @PrimaryPhone +
+ +
+ Created + @CreatedAt +
+ +
+ User Key + @UserKeyText +
+
+ + + +
+ Account Status + Control whether this identity can access the application. +
+ +
+ + @foreach (var status in Enum.GetValues()) + { + + @status + + } + + + + Update Status + +
+ + + +
+ Management + Manage the user's authentication and authorization settings. +
+ +
+ + Profile + + + + Identifiers + + + + Credentials + + + + Sessions + + + + Roles + +
+ } +
- Close +
+ + Close + +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor.cs index 9f4baa1a..5d033e09 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor.cs @@ -13,76 +13,201 @@ public partial class UserDetailDialog private UserView? _user; private AdminAssignableUserStatus _status; + private bool _isLoading = true; + private bool _isSubmitting; + private string? _loadError; + [CascadingParameter] - IMudDialogInstance MudDialog { get; set; } = default!; + private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } [Parameter] public UserKey UserKey { get; set; } + [Parameter] + public bool PreviewMode { get; set; } + + private string DisplayName => + PreviewMode ? "Alex Morgan" : _user?.DisplayName ?? "—"; + + private string UserName => + PreviewMode ? "alex.morgan" : _user?.UserName ?? "—"; + + private string PrimaryEmail => + PreviewMode ? "alex@example.com" : _user?.PrimaryEmail ?? "—"; + + private string PrimaryPhone => + PreviewMode ? "+1 555 010 1234" : _user?.PrimaryPhone ?? "—"; + + private string CreatedAt => + PreviewMode + ? "Oct 12, 2026" + : _user?.CreatedAt?.ToLocalTime().ToString("g") ?? "—"; + + private string UserKeyText => + PreviewMode ? "preview-user-001" : _user?.UserKey.Value ?? "—"; + + private UserStatus? CurrentStatus => + PreviewMode ? UserStatus.Active : _user?.Status; + + private bool HasStatusChange => + _user is not null && + _status != _user.Status.ToAdminAssignableUserStatus(); + protected override async Task OnInitializedAsync() { - await base.OnInitializedAsync(); - var result = await UAuthClient.Users.GetUserAsync(UserKey); + if (PreviewMode) + { + _status = AdminAssignableUserStatus.Active; + _isLoading = false; + return; + } - if (result.IsSuccess) + await LoadUserAsync(); + } + + private async Task LoadUserAsync() + { + _isLoading = true; + _loadError = null; + + try { + var result = await UAuthClient.Users.GetUserAsync(UserKey); + + if (!result.IsSuccess || result.Value is null) + { + _loadError = result.ErrorText + ?? "Unable to load user details."; + return; + } + _user = result.Value; - _status = _user?.Status.ToAdminAssignableUserStatus() ?? AdminAssignableUserStatus.Unknown; + _status = _user.Status.ToAdminAssignableUserStatus(); + } + catch (Exception) + { + _loadError = "An unexpected error occurred while loading the user."; + } + finally + { + _isLoading = false; } } - private async Task OpenSessions() + private async Task ChangeStatusAsync() { - await DialogService.ShowAsync("Session Management", UAuthDialog.GetDialogParameters(AuthState, _user?.UserKey), UAuthDialog.GetDialogOptions()); + if (PreviewMode || _isSubmitting || _user is null || + !HasStatusChange) + return; + + _isSubmitting = true; + + try + { + var request = new ChangeUserStatusAdminRequest + { + NewStatus = _status + }; + + var result = await UAuthClient.Users + .ChangeUserStatusAsync(_user.UserKey, request); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to update user status.", + Severity.Error); + return; + } + + _user = _user with + { + Status = _status.ToUserStatus() + }; + + Snackbar.Add( + "User status updated successfully.", + Severity.Success); + } + catch (Exception) + { + Snackbar.Add("Unable to update user status.", Severity.Error); + } + finally + { + _isSubmitting = false; + } + } + + private DialogParameters CreateChildParameters() + { + var parameters = new DialogParameters + { + { "PreviewMode", PreviewMode } + }; + + if (!PreviewMode) + { + parameters.Add("AuthState", AuthState); + parameters.Add("UserKey", _user!.UserKey); + } + + return parameters; } - private async Task OpenProfile() + private async Task OpenSessionsAsync() { - await DialogService.ShowAsync("Profile Management", UAuthDialog.GetDialogParameters(AuthState, _user?.UserKey), UAuthDialog.GetDialogOptions()); + await OpenChildAsync( + "Session Management", MaxWidth.Large); } - private async Task OpenIdentifiers() + private async Task OpenProfileAsync() { - await DialogService.ShowAsync("Identifier Management", UAuthDialog.GetDialogParameters(AuthState, _user?.UserKey), UAuthDialog.GetDialogOptions()); + await OpenChildAsync( + "Profile Management", MaxWidth.Medium); } - private async Task OpenCredentials() + private async Task OpenIdentifiersAsync() { - await DialogService.ShowAsync("Credentials", UAuthDialog.GetDialogParameters(AuthState, _user?.UserKey), UAuthDialog.GetDialogOptions()); + await OpenChildAsync( + "Identifier Management", MaxWidth.Medium); } - private async Task OpenRoles() + private async Task OpenCredentialsAsync() { - await DialogService.ShowAsync("Roles", UAuthDialog.GetDialogParameters(AuthState, _user?.UserKey), UAuthDialog.GetDialogOptions()); + await OpenChildAsync( + "Credential Management", MaxWidth.Small); } - private async Task ChangeStatusAsync() + private async Task OpenRolesAsync() + { + await OpenChildAsync( + "User Roles", MaxWidth.Small); + } + + private async Task OpenChildAsync( + string title, + MaxWidth maxWidth) + where TDialog : IComponent { - if (_user is null) + if (_isLoading || _isSubmitting) return; - ChangeUserStatusAdminRequest request = new() - { - NewStatus = _status - }; + var dialog = await DialogService.ShowAsync( + title, + CreateChildParameters(), + UAuthDialog.GetDialogOptions(maxWidth)); - var result = await UAuthClient.Users.ChangeUserStatusAsync(_user.UserKey, request); + await dialog.Result; - if (result.IsSuccess) - { - Snackbar.Add("User status updated", Severity.Success); - _user = _user with { Status = _status.ToUserStatus() }; - } - else - { - Snackbar.Add(result.ErrorText ?? "Failed", Severity.Error); - } + if (!PreviewMode) + await LoadUserAsync(); } - private Color GetStatusColor(UserStatus? status) + private static Color GetStatusColor(UserStatus? status) { return status switch { @@ -95,6 +220,7 @@ private Color GetStatusColor(UserStatus? status) private void Close() { - MudDialog.Close(); + if (!_isSubmitting) + MudDialog.Close(); } } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor.css new file mode 100644 index 00000000..adc07a85 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserDetailDialog.razor.css @@ -0,0 +1,188 @@ +.lab-user-detail-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-user-detail-header-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 40px; + height: 40px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-user-detail-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-user-detail-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-user-detail-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-user-detail-content { + display: flex; + flex-direction: column; + gap: 19px; + min-width: 0; +} + +.lab-user-detail-identity { + display: flex; + align-items: center; + gap: 13px; + padding: 16px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; + background: var(--mud-palette-background); +} + +.lab-user-detail-avatar { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 48px; + height: 48px; + border-radius: 13px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-user-detail-identity-info { + display: flex; + flex-direction: column; + gap: 5px; + flex: 1; + min-width: 0; +} + + .lab-user-detail-identity-info strong { + font-size: .95rem; + font-weight: 750; + } + + .lab-user-detail-identity-info span { + font-size: .75rem; + color: var(--mud-palette-text-secondary); + } + +.lab-user-detail-section-heading { + display: flex; + flex-direction: column; + gap: 4px; +} + + .lab-user-detail-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-user-detail-section-heading span { + font-size: .73rem; + line-height: 1.5; + color: var(--mud-palette-text-secondary); + } + +.lab-user-detail-info-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 10px; +} + +.lab-user-detail-info-item { + display: flex; + flex-direction: column; + gap: 7px; + padding: 13px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 10px; + min-width: 0; +} + + .lab-user-detail-info-item span { + font-size: .72rem; + color: var(--mud-palette-text-secondary); + } + + .lab-user-detail-info-item strong { + font-size: .79rem; + font-weight: 650; + } + +.lab-user-detail-break { + overflow-wrap: anywhere; + word-break: break-word; +} + +.lab-user-detail-status { + display: flex; + align-items: flex-start; + gap: 12px; +} + + .lab-user-detail-status ::deep .mud-input-control { + flex: 1; + min-width: 0; + } + + .lab-user-detail-status ::deep .mud-button-root { + flex-shrink: 0; + min-height: 40px; + } + +.lab-user-detail-management { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 10px; +} + + .lab-user-detail-management ::deep .mud-button-root { + justify-content: flex-start; + min-height: 45px; + text-transform: none; + } + +.lab-user-detail-actions { + display: flex; + justify-content: flex-end; + width: 100%; +} + +@media (max-width: 600px) { + .lab-user-detail-info-grid { + grid-template-columns: 1fr; + } + + .lab-user-detail-status { + flex-direction: column; + align-items: stretch; + } + + .lab-user-detail-status ::deep .mud-button-root { + width: 100%; + } + + .lab-user-detail-management { + grid-template-columns: 1fr; + } + + .lab-user-detail-identity { + flex-wrap: wrap; + padding: 13px; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor index 6e754848..dce6794e 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor @@ -3,47 +3,153 @@ @inject IDialogService DialogService @inject ISnackbar Snackbar - - + - User Roles - UserKey: @UserKey.Value +
+
+ +
+
+ Manage User Roles + + Assign and remove authorization roles for this identity. + +
+
- - Assigned Roles +
+ @if (PreviewMode) + { + + Preview mode is active. Role assignments cannot be changed. + + } - @if (_roles.Count == 0) + @if (_isLoading) { - No roles assigned + } + else if (_loadError is not null) + { + + @_loadError + + } + else + { +
+
+ +
+ Assigned Roles + Roles currently granted to this identity. +
+
- - @foreach (var role in _roles) - { - @role - } - + @if (_roles.Count == 0) + { +
+ + No roles assigned to this user. +
+ } + else + { +
+ @foreach (var role in _roles) + { + + @role + + } +
+ } +
- + - Add Role - +
+
+ +
+ Assign New Role + Select an available role to grant additional permissions. +
+
- - @foreach (var role in _allRoles) +
+ + @foreach (var role in AvailableRoles) + { + + @role.Name + + } + + + + Assign Role + +
+ + @if (AvailableRoles.Count == 0) { - @role.Name + + No additional roles are currently available. + } -
+
- Add -
- +
+ + + Role assignments affect authorization decisions. + Changes may require a new authentication or authorization + evaluation to be reflected in active sessions. + +
+ } +
- Close +
+ + Close + +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor.cs index 47a2c4ae..eae193cd 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor.cs @@ -12,113 +12,216 @@ public partial class UserRoleDialog private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] - public UAuthState AuthState { get; set; } = default!; + public UAuthState? AuthState { get; set; } [Parameter] public UserKey UserKey { get; set; } = default!; - private List _roles = new(); - private List _allRoles = new(); + [Parameter] + public bool PreviewMode { get; set; } + + private List _roles = []; + private List _allRoles = []; private string? _selectedRole; + private bool _isLoading = true; + private bool _isSubmitting; + private string? _loadError; + + private List AvailableRoles => + _allRoles + .Where(role => !_roles.Contains( + role.Name, + StringComparer.OrdinalIgnoreCase)) + .ToList(); protected override async Task OnInitializedAsync() { - await LoadRoles(); + if (PreviewMode) + { + LoadPreviewData(); + _isLoading = false; + return; + } + + await LoadRolesAsync(); } - private async Task LoadRoles() + private void LoadPreviewData() { - var userRoles = await UAuthClient.Authorization.GetUserRolesAsync(UserKey); + _roles = ["User", "Editor"]; + _allRoles = + [ + new RoleInfo { Name = "User" }, + new RoleInfo { Name = "Editor" }, + new RoleInfo { Name = "Admin" }, + new RoleInfo { Name = "Viewer" } + ]; + } - if (userRoles.IsSuccess && userRoles.Value != null) - _roles = userRoles.Value.Roles.Items.Select(x => x.Name).ToList(); + private async Task LoadRolesAsync() + { + _isLoading = true; + _loadError = null; - var roles = await UAuthClient.Authorization.QueryRolesAsync(new RoleQuery + try { - PageNumber = 1, - PageSize = 200 - }); + var userRoles = await UAuthClient.Authorization + .GetUserRolesAsync(UserKey); + + if (!userRoles.IsSuccess || userRoles.Value is null) + { + _loadError = userRoles.ErrorText + ?? "Unable to load assigned roles."; + return; + } + + var roles = await UAuthClient.Authorization + .QueryRolesAsync(new RoleQuery + { + PageNumber = 1, + PageSize = 200 + }); + + if (!roles.IsSuccess || roles.Value is null) + { + _loadError = roles.ErrorText + ?? "Unable to load available roles."; + return; + } + + _roles = userRoles.Value.Roles.Items + .Select(x => x.Name) + .ToList(); - if (roles.IsSuccess && roles.Value != null) _allRoles = roles.Value.Items.ToList(); + } + catch (Exception) + { + _loadError = "An unexpected error occurred while loading roles."; + } + finally + { + _isLoading = false; + } } - private async Task AddRole() + private async Task AddRoleAsync() { - if (string.IsNullOrWhiteSpace(_selectedRole)) + if (PreviewMode || _isSubmitting || + string.IsNullOrWhiteSpace(_selectedRole)) + return; + + var roleName = _selectedRole; + + if (_roles.Contains(roleName, StringComparer.OrdinalIgnoreCase)) return; var request = new AssignRoleRequest { UserKey = UserKey, - RoleName = _selectedRole + RoleName = roleName }; - var result = await UAuthClient.Authorization.AssignRoleToUserAsync(request); + _isSubmitting = true; - if (result.IsSuccess) + try { - _roles.Add(_selectedRole); - Snackbar.Add("Role assigned", Severity.Success); + var result = await UAuthClient.Authorization + .AssignRoleToUserAsync(request); + + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to assign role.", + Severity.Error); + return; + } + + _roles.Add(roleName); + _selectedRole = null; + + Snackbar.Add("Role assigned successfully.", Severity.Success); } - else + catch (Exception) { - Snackbar.Add(result.ErrorText ?? "Failed", Severity.Error); + Snackbar.Add("An unexpected error occurred.", Severity.Error); + } + finally + { + _isSubmitting = false; } - - _selectedRole = null; } - private async Task RemoveRole(string role) + private async Task RemoveRoleAsync(string role) { - var confirm = await DialogService.ShowMessageBoxAsync( + if (PreviewMode || _isSubmitting) + return; + + var confirmed = await DialogService.ShowMessageBoxAsync( "Remove Role", - $"Remove {role} from user?", + $"Remove the '{role}' role from this user?", yesText: "Remove", - noText: "Cancel", - options: new DialogOptions() { MaxWidth = MaxWidth.Medium, FullWidth = true, BackgroundClass = "uauth-blur-slight" }); + noText: "Cancel"); - if (confirm != true) - { - Snackbar.Add("Role remove process cancelled.", Severity.Info); + if (confirmed != true) return; - } - if (role == "Admin") + if (IsAdminRole(role)) { - var confirm2 = await DialogService.ShowMessageBoxAsync( - "Are You Sure", - "You are going to remove admin role. This action may cause the application unuseable.", - yesText: "Remove", - noText: "Cancel", - options: new DialogOptions() { MaxWidth = MaxWidth.Medium, FullWidth = true, BackgroundClass = "uauth-blur-slight" }); - - if (confirm2 != true) - { - Snackbar.Add("Role remove process cancelled.", Severity.Info); + var adminConfirmed = await DialogService.ShowMessageBoxAsync( + "Remove Administrator Role", + "Removing the Admin role may prevent this user from " + + "managing the application. Continue?", + yesText: "Remove Admin", + noText: "Cancel"); + + if (adminConfirmed != true) return; - } } - var request = new RemoveRoleRequest + _isSubmitting = true; + + try { - UserKey = UserKey, - RoleName = role - }; + var request = new RemoveRoleRequest + { + UserKey = UserKey, + RoleName = role + }; - var result = await UAuthClient.Authorization.RemoveRoleFromUserAsync(request); + var result = await UAuthClient.Authorization + .RemoveRoleFromUserAsync(request); - if (result.IsSuccess) + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to remove role.", + Severity.Error); + return; + } + + _roles.RemoveAll(x => + string.Equals(x, role, StringComparison.OrdinalIgnoreCase)); + + Snackbar.Add("Role removed successfully.", Severity.Success); + } + catch (Exception) { - _roles.Remove(role); - Snackbar.Add("Role removed.", Severity.Success); + Snackbar.Add("An unexpected error occurred.", Severity.Error); } - else + finally { - Snackbar.Add(result.ErrorText ?? "Failed", Severity.Error); + _isSubmitting = false; } } - private void Close() => MudDialog.Close(); + private static bool IsAdminRole(string role) => + string.Equals(role, "Admin", StringComparison.OrdinalIgnoreCase); + + private void Close() + { + if (!_isSubmitting) + MudDialog.Close(); + } } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor.css new file mode 100644 index 00000000..0a39e7da --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UserRoleDialog.razor.css @@ -0,0 +1,141 @@ +.lab-user-role-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-user-role-header-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 40px; + height: 40px; + border-radius: 11px; + background: var(--mud-palette-primary-hover); + color: var(--mud-palette-primary); +} + +.lab-user-role-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-user-role-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-user-role-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-user-role-content { + display: flex; + flex-direction: column; + gap: 21px; + padding: 4px 0; +} + +.lab-user-role-section { + display: flex; + flex-direction: column; + gap: 17px; +} + +.lab-user-role-section-heading { + display: flex; + align-items: flex-start; + gap: 12px; +} + + .lab-user-role-section-heading > div { + display: flex; + flex-direction: column; + gap: 4px; + } + + .lab-user-role-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-user-role-section-heading span { + font-size: .73rem; + line-height: 1.5; + color: var(--mud-palette-text-secondary); + } + +.lab-user-role-chips { + display: flex; + flex-wrap: wrap; + gap: 9px; +} + +.lab-user-role-empty { + display: flex; + align-items: center; + gap: 10px; + padding: 17px; + border: 1px dashed var(--mud-palette-lines-default); + border-radius: 11px; + color: var(--mud-palette-text-secondary); + font-size: .78rem; +} + +.lab-user-role-add { + display: flex; + align-items: flex-start; + gap: 12px; +} + + .lab-user-role-add ::deep .mud-input-control { + flex: 1; + min-width: 0; + } + + .lab-user-role-add ::deep .mud-button-root { + flex-shrink: 0; + min-height: 40px; + } + +.lab-user-role-hint { + display: flex; + align-items: flex-start; + gap: 9px; + padding: 12px 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); + color: var(--mud-palette-text-secondary); +} + + .lab-user-role-hint span { + font-size: .72rem; + line-height: 1.6; + } + +.lab-user-role-actions { + display: flex; + justify-content: flex-end; + width: 100%; +} + +@media (max-width: 600px) { + .lab-user-role-add { + flex-direction: column; + align-items: stretch; + } + + .lab-user-role-add ::deep .mud-button-root { + width: 100%; + } + + .lab-user-role-content { + gap: 18px; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor index 66c8e887..0c221d1e 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor @@ -4,81 +4,231 @@ @inject IDialogService DialogService @inject ISnackbar Snackbar - + - User Management - Browse, create and manage users +
+
+ +
+
+ User Management + + Browse identities, manage access and create users. + +
+
- - - - - - - - - - - - - - Users - - New User - - - - - - - - - - - @context.Item.Status - - - - - - - - - - - - - - - - - - - - - Id - @context.Item.UserKey.Value - - - - Created At - @context.Item.CreatedAt - - - - - - - - - +
+ @if (PreviewMode) + { + + Preview mode is active. User records are examples + and cannot be modified. + + } + +
+
+ Users + Search and manage registered identities. +
+ + + New User + +
+ +
+ + + + + All Statuses + + @foreach (var status in Enum.GetValues()) + { + + @status + + } + +
+ + @if (PreviewMode) + { +
+ @foreach (var user in FilteredPreviewUsers) + { +
+
+
+ +
+ +
+ @user.DisplayName + @user.UserName + @user.Email +
+ + + @user.Status + +
+ +
+ + Created @user.CreatedAt + + + + + + Manage + + + +
+
+ } + + @if (FilteredPreviewUsers.Count == 0) + { +
+ + No users found + Try another search or status filter. +
+ } +
+ } + else + { + + + + +
+ @context.Item.DisplayName + @context.Item.UserName +
+
+
+ + + + + + + @context.Item.Status + + + + + + + + + + + + + + + + + +
+ + + + +
+ } + +
+ + + User management actions are subject to server-side + authorization. Deleting a user uses soft deletion. + +
+
- Close +
+ + Close + +
diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor.cs index e945d65a..2cfb447f 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor.cs @@ -11,22 +11,79 @@ namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs; public partial class UsersDialog { private MudDataGrid? _grid; + private bool _loading; - private string? _search; private bool _reloadQueued; + private string? _search; private UserStatus? _statusFilter; [CascadingParameter] - IMudDialogInstance MudDialog { get; set; } = default!; + private IMudDialogInstance MudDialog { get; set; } = default!; + + [Parameter] + public UAuthState? AuthState { get; set; } [Parameter] - public UAuthState AuthState { get; set; } = default!; + public bool PreviewMode { get; set; } - private async Task> LoadUsers(GridState state, CancellationToken ct) + private readonly List _previewUsers = + [ + new( + "preview-001", + "Alex Morgan", + "alex.morgan", + "alex@example.com", + UserStatus.Active, + "Oct 12, 2026"), + new( + "preview-002", + "Taylor Reed", + "taylor.reed", + "taylor@example.com", + UserStatus.Active, + "Oct 14, 2026"), + new( + "preview-003", + "Jordan Lee", + "jordan.lee", + "jordan@example.com", + UserStatus.Suspended, + "Oct 15, 2026"), + new( + "preview-004", + "Casey Parker", + "casey.parker", + "casey@example.com", + UserStatus.Disabled, + "Oct 16, 2026") + ]; + + private List FilteredPreviewUsers => + _previewUsers + .Where(user => + (!_statusFilter.HasValue || + user.Status == _statusFilter.Value) && + (string.IsNullOrWhiteSpace(_search) || + user.DisplayName.Contains( + _search, StringComparison.OrdinalIgnoreCase) || + user.UserName.Contains( + _search, StringComparison.OrdinalIgnoreCase) || + user.Email.Contains( + _search, StringComparison.OrdinalIgnoreCase) || + user.Key.Contains( + _search, StringComparison.OrdinalIgnoreCase))) + .ToList(); + + private async Task> LoadUsers( + GridState state, + CancellationToken ct) { + if (PreviewMode) + return EmptyGrid(); + var sort = state.SortDefinitions?.FirstOrDefault(); - var req = new UserQuery + var request = new UserQuery { PageNumber = state.Page + 1, PageSize = state.PageSize, @@ -36,39 +93,50 @@ private async Task> LoadUsers(GridState state Descending = sort?.Descending ?? false }; - var res = await UAuthClient.Users.QueryAsync(req); - - if (!res.IsSuccess || res.Value == null) + try { - Snackbar.Add(res.ErrorText ?? "Failed to load users.", Severity.Error); + var result = await UAuthClient.Users.QueryAsync(request); + + if (!result.IsSuccess || result.Value is null) + { + Snackbar.Add( + result.ErrorText ?? "Failed to load users.", + Severity.Error); + + return EmptyGrid(); + } return new GridData { - Items = Array.Empty(), - TotalItems = 0 + Items = result.Value.Items, + TotalItems = result.Value.TotalCount }; } - - return new GridData + catch (Exception) { - Items = res.Value.Items, - TotalItems = res.Value.TotalCount - }; + Snackbar.Add("Unable to load users.", Severity.Error); + return EmptyGrid(); + } } + private static GridData EmptyGrid() => new() + { + Items = Array.Empty(), + TotalItems = 0 + }; + private async Task ReloadAsync() { + if (PreviewMode || _grid is null) + return; + if (_loading) { _reloadQueued = true; return; } - if (_grid is null) - return; - _loading = true; - await InvokeAsync(StateHasChanged); try { @@ -77,84 +145,137 @@ private async Task ReloadAsync() finally { _loading = false; + } - if (_reloadQueued) - { - _reloadQueued = false; - await ReloadAsync(); - } - - await InvokeAsync(StateHasChanged); + if (_reloadQueued) + { + _reloadQueued = false; + await ReloadAsync(); } } - private async Task OnStatusChanged(UserStatus? status) + private async Task OnSearchChanged(string? value) { - _statusFilter = status; - await ReloadAsync(); + _search = value; + + if (!PreviewMode) + await ReloadAsync(); } - private async Task OpenUser(UserKey userKey) + private async Task OnStatusChanged(UserStatus? value) { - var dialog = await DialogService.ShowAsync("User", UAuthDialog.GetDialogParameters(AuthState, userKey), UAuthDialog.GetDialogOptions()); + _statusFilter = value; + + if (!PreviewMode) + await ReloadAsync(); + } + + private async Task OpenPreviewUserAsync() + { + var parameters = new DialogParameters + { + { x => x.PreviewMode, true } + }; + + await DialogService.ShowAsync( + "User Management", + parameters, + UAuthDialog.GetDialogOptions(MaxWidth.Medium)); + } + + private async Task OpenUserAsync(UserKey userKey) + { + if (PreviewMode || _loading) + return; + + var parameters = new DialogParameters + { + { x => x.UserKey, userKey }, + { x => x.AuthState, AuthState } + }; + + var dialog = await DialogService.ShowAsync( + "User Management", + parameters, + UAuthDialog.GetDialogOptions(MaxWidth.Medium)); + await dialog.Result; await ReloadAsync(); } - private async Task OpenCreateUser() + private async Task OpenCreateUserAsync() { + if (_loading) + return; + + var parameters = new DialogParameters + { + { x => x.PreviewMode, PreviewMode } + }; + var dialog = await DialogService.ShowAsync( "Create User", - new DialogOptions - { - MaxWidth = MaxWidth.Small, - FullWidth = true, - CloseButton = true - }); + parameters, + UAuthDialog.GetDialogOptions(MaxWidth.Small)); var result = await dialog.Result; - if (result?.Canceled == false) + if (!PreviewMode && result?.Canceled == false) await ReloadAsync(); } private async Task DeleteUserAsync(UserSummary user) { - var confirm = await DialogService.ShowMessageBoxAsync( - title: "Delete user", - markupMessage: (MarkupString)$""" - Are you sure you want to delete {user.DisplayName ?? user.UserName ?? user.PrimaryEmail ?? user.UserKey}? -

- This operation is intended for admin usage. - """, + if (PreviewMode || _loading) + return; + + var confirmed = await DialogService.ShowMessageBoxAsync( + "Delete User", + $"Delete '{user.DisplayName ?? user.UserName ?? user.PrimaryEmail}'? " + + "This operation uses soft deletion.", yesText: "Delete", - cancelText: "Cancel", - options: new DialogOptions - { - MaxWidth = MaxWidth.Medium, - FullWidth = true, - BackgroundClass = "uauth-blur-slight" - }); + noText: "Cancel"); - if (confirm != true) + if (confirmed != true || _loading) return; - var req = new DeleteUserRequest + _loading = true; + bool success = false; + + try { - Mode = DeleteMode.Soft - }; + var request = new DeleteUserRequest + { + Mode = DeleteMode.Soft + }; + + var result = await UAuthClient.Users + .DeleteUserAsync(user.UserKey, request); - var result = await UAuthClient.Users.DeleteUserAsync(user.UserKey, req); + if (!result.IsSuccess) + { + Snackbar.Add( + result.ErrorText ?? "Failed to delete user.", + Severity.Error); + return; + } - if (result.IsSuccess) + success = true; + Snackbar.Add( + "User deleted successfully.", + Severity.Success); + } + catch (Exception) { - Snackbar.Add("User deleted successfully.", Severity.Success); - await ReloadAsync(); + Snackbar.Add("Unable to delete user.", Severity.Error); } - else + finally { - Snackbar.Add(result.ErrorText ?? "Failed to delete user.", Severity.Error); + _loading = false; } + + if (success) + await ReloadAsync(); } private static Color GetStatusColor(UserStatus status) @@ -171,6 +292,15 @@ private static Color GetStatusColor(UserStatus status) private void Close() { - MudDialog.Close(); + if (!_loading) + MudDialog.Close(); } + + private sealed record PreviewUser( + string Key, + string DisplayName, + string UserName, + string Email, + UserStatus Status, + string CreatedAt); } diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor.css new file mode 100644 index 00000000..24df772f --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Dialogs/UsersDialog.razor.css @@ -0,0 +1,206 @@ +.lab-users-header { + display: flex; + align-items: center; + gap: 12px; +} + +.lab-users-header-icon, +.lab-users-avatar { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); + border-radius: 11px; +} + +.lab-users-header-icon { + width: 40px; + height: 40px; +} + +.lab-users-header-text { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} + + .lab-users-header-text ::deep .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + line-height: 1.3; + } + + .lab-users-header-text ::deep .mud-typography-body2 { + font-size: .73rem; + line-height: 1.4; + } + +.lab-users-content { + display: flex; + flex-direction: column; + gap: 18px; + min-width: 0; +} + +.lab-users-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.lab-users-section-heading { + display: flex; + flex-direction: column; + gap: 4px; +} + + .lab-users-section-heading strong { + font-size: .85rem; + font-weight: 750; + } + + .lab-users-section-heading span { + font-size: .73rem; + color: var(--mud-palette-text-secondary); + } + +.lab-users-filters { + display: grid; + grid-template-columns: minmax(0, 2fr) minmax(160px, 1fr); + gap: 12px; +} + +.lab-users-grid { + overflow-x: auto; +} + +.lab-users-grid-identity { + display: flex; + flex-direction: column; + gap: 5px; + min-width: 120px; +} + + .lab-users-grid-identity strong { + font-size: .8rem; + } + + .lab-users-grid-identity span { + font-size: .72rem; + color: var(--mud-palette-text-secondary); + } + +.lab-users-list { + display: flex; + flex-direction: column; + gap: 11px; +} + +.lab-users-card { + border: 1px solid var(--mud-palette-lines-default); + border-radius: 12px; + overflow: hidden; +} + +.lab-users-card-main { + display: flex; + align-items: center; + gap: 12px; + padding: 15px; +} + +.lab-users-avatar { + width: 43px; + height: 43px; +} + +.lab-users-card-info { + display: flex; + flex-direction: column; + gap: 4px; + flex: 1; + min-width: 0; +} + + .lab-users-card-info strong { + font-size: .85rem; + } + + .lab-users-card-info span { + font-size: .73rem; + color: var(--mud-palette-text-secondary); + overflow-wrap: anywhere; + } + +.lab-users-card-actions { + display: flex; + align-items: center; + gap: 9px; + padding: 9px 13px; + border-top: 1px solid var(--mud-palette-lines-default); + background: var(--mud-palette-background); +} + +.lab-users-empty { + display: flex; + flex-direction: column; + align-items: center; + gap: 9px; + padding: 30px 15px; + text-align: center; + color: var(--mud-palette-text-secondary); +} + + .lab-users-empty strong { + font-size: .85rem; + } + + .lab-users-empty span { + font-size: .73rem; + } + +.lab-users-hint { + display: flex; + align-items: flex-start; + gap: 9px; + padding: 12px 14px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-background); + color: var(--mud-palette-text-secondary); +} + + .lab-users-hint span { + font-size: .72rem; + line-height: 1.6; + } + +.lab-users-actions { + display: flex; + justify-content: flex-end; + width: 100%; +} + +@media (max-width: 600px) { + .lab-users-toolbar { + align-items: flex-start; + flex-wrap: wrap; + } + + .lab-users-filters { + grid-template-columns: 1fr; + } + + .lab-users-card-main { + flex-wrap: wrap; + padding: 12px; + } + + .lab-users-card-actions { + flex-wrap: wrap; + } +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Contracts/CreateUserDialogResult.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Contracts/CreateUserDialogResult.cs new file mode 100644 index 00000000..bd48b717 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Contracts/CreateUserDialogResult.cs @@ -0,0 +1,8 @@ +namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Dialogs; + +public sealed record CreateUserDialogResult(bool IsSuccess, string? ErrorMessage = null) +{ + public static CreateUserDialogResult Success() => new(true); + + public static CreateUserDialogResult Failure(string message) => new(false, message); +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/wwwroot/uauth-dialogs.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/wwwroot/uauth-dialogs.css new file mode 100644 index 00000000..9c1f11d3 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/wwwroot/uauth-dialogs.css @@ -0,0 +1,47 @@ +.uauth-shared-dialog { + border: 1px solid var(--mud-palette-lines-default); + border-radius: 18px !important; + background: var(--mud-palette-surface); + box-shadow: 0 24px 70px rgba(0, 0, 0, .16); + overflow: hidden; +} + + .uauth-shared-dialog .mud-dialog-title { + padding: 14px 20px; + background: var(--mud-palette-background); + border-bottom: 1px solid var(--mud-palette-lines-default); + } + + .uauth-shared-dialog .mud-dialog-content { + padding: 20px; + } + + .uauth-shared-dialog .mud-dialog-actions { + padding: 10px 20px; + border-top: 1px solid var(--mud-palette-lines-default); + } + +.uauth-dialog-backdrop { + backdrop-filter: blur(3px); +} + +@media (max-width: 600px) { + .mud-dialog.uauth-shared-dialog { + width: calc(100vw - 16px); + max-width: calc(100vw - 16px); + margin: 8px; + border-radius: 14px !important; + } + + .uauth-shared-dialog .mud-dialog-title { + padding: 12px 16px; + } + + .uauth-shared-dialog .mud-dialog-content { + padding: 16px; + } + + .uauth-shared-dialog .mud-dialog-actions { + padding: 10px 16px; + } +} diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/App.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/App.razor index 8a0d2a78..da1985dd 100644 --- a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/App.razor +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/App.razor @@ -15,6 +15,7 @@ + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/App.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/App.razor index 1dd1096b..9a0e6f30 100644 --- a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/App.razor +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/App.razor @@ -7,10 +7,12 @@ + + diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/wwwroot/index.html b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/wwwroot/index.html index 05649156..ed5354ac 100644 --- a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/wwwroot/index.html +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/wwwroot/index.html @@ -9,9 +9,11 @@ + + diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm/Components/App.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm/Components/App.razor index 794bd19e..6eccdef2 100644 --- a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm/Components/App.razor +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm/Components/App.razor @@ -9,10 +9,12 @@ + + From 5f355c66a00f98fad8233d49249049e503fc9bb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20Can=20Karag=C3=B6z?= Date: Thu, 22 Oct 2026 00:30:45 +0300 Subject: [PATCH 5/6] Cleanup and Finalize Design as Part 1 --- README.md | 27 +- .../Components/App.razor | 4 +- .../Components/Custom/PublicHeader.razor | 12 +- .../Components/Custom/PublicHeader.razor.css | 9 +- .../Components/Layout/DashboardLayout.razor | 10 + .../AdminPermissionPage.razor | 6 + .../AuthorizationLab/AdminRolePage.razor | 5 + .../AspNetAuthorizePage.razor | 5 + .../AuthorizationLab/AuthenticatedPage.razor | 5 + .../CombinedAuthorizationPage.razor | 8 + .../AuthorizationLab/MatchModesPage.razor | 4 + .../Pages/AuthorizationLab/PublicPage.razor | 5 + .../AuthorizationLab/StateViewPage.razor | 4 + .../Pages/Dashboard/AuthorizationLab.razor | 193 + .../Dashboard/AuthorizationLab.razor.css | 132 + .../Components/Pages/LandingPage.razor | 153 +- .../Components/Pages/LandingPage.razor.css | 64 + .../Components/_Imports.razor | 1 + .../wwwroot/identity-lab.png | Bin 0 -> 1327440 bytes .../lib/bootstrap/dist/css/bootstrap-grid.css | 4085 ------ .../bootstrap/dist/css/bootstrap-grid.css.map | 1 - .../bootstrap/dist/css/bootstrap-grid.min.css | 6 - .../dist/css/bootstrap-grid.min.css.map | 1 - .../bootstrap/dist/css/bootstrap-grid.rtl.css | 4084 ------ .../dist/css/bootstrap-grid.rtl.css.map | 1 - .../dist/css/bootstrap-grid.rtl.min.css | 6 - .../dist/css/bootstrap-grid.rtl.min.css.map | 1 - .../bootstrap/dist/css/bootstrap-reboot.css | 597 - .../dist/css/bootstrap-reboot.css.map | 1 - .../dist/css/bootstrap-reboot.min.css | 6 - .../dist/css/bootstrap-reboot.min.css.map | 1 - .../dist/css/bootstrap-reboot.rtl.css | 594 - .../dist/css/bootstrap-reboot.rtl.css.map | 1 - .../dist/css/bootstrap-reboot.rtl.min.css | 6 - .../dist/css/bootstrap-reboot.rtl.min.css.map | 1 - .../dist/css/bootstrap-utilities.css | 5402 ------- .../dist/css/bootstrap-utilities.css.map | 1 - .../dist/css/bootstrap-utilities.min.css | 6 - .../dist/css/bootstrap-utilities.min.css.map | 1 - .../dist/css/bootstrap-utilities.rtl.css | 5393 ------- .../dist/css/bootstrap-utilities.rtl.css.map | 1 - .../dist/css/bootstrap-utilities.rtl.min.css | 6 - .../css/bootstrap-utilities.rtl.min.css.map | 1 - .../lib/bootstrap/dist/css/bootstrap.css | 12057 ---------------- .../lib/bootstrap/dist/css/bootstrap.css.map | 1 - .../lib/bootstrap/dist/css/bootstrap.min.css | 6 - .../bootstrap/dist/css/bootstrap.min.css.map | 1 - .../lib/bootstrap/dist/css/bootstrap.rtl.css | 12030 --------------- .../bootstrap/dist/css/bootstrap.rtl.css.map | 1 - .../bootstrap/dist/css/bootstrap.rtl.min.css | 6 - .../dist/css/bootstrap.rtl.min.css.map | 1 - .../lib/bootstrap/dist/js/bootstrap.bundle.js | 6314 -------- .../bootstrap/dist/js/bootstrap.bundle.js.map | 1 - .../bootstrap/dist/js/bootstrap.bundle.min.js | 7 - .../dist/js/bootstrap.bundle.min.js.map | 1 - .../lib/bootstrap/dist/js/bootstrap.esm.js | 4447 ------ .../bootstrap/dist/js/bootstrap.esm.js.map | 1 - .../bootstrap/dist/js/bootstrap.esm.min.js | 7 - .../dist/js/bootstrap.esm.min.js.map | 1 - .../lib/bootstrap/dist/js/bootstrap.js | 4494 ------ .../lib/bootstrap/dist/js/bootstrap.js.map | 1 - .../lib/bootstrap/dist/js/bootstrap.min.js | 7 - .../bootstrap/dist/js/bootstrap.min.js.map | 1 - .../Components/Page/SampleHome.razor | 281 +- .../Components/Page/SampleHome.razor.css | 136 + 65 files changed, 941 insertions(+), 59711 deletions(-) create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AdminPermissionPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AdminRolePage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AuthenticatedPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/MatchModesPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/PublicPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/StateViewPage.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationLab.razor create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationLab.razor.css create mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/identity-lab.png delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.js delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js delete mode 100644 apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map create mode 100644 samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/SampleHome.razor.css diff --git a/README.md b/README.md index 3469e049..abaaeb25 100644 --- a/README.md +++ b/README.md @@ -324,15 +324,30 @@ Start with the simple API. Drop down to UltimateAuth's extensibility points when --- -## Documentation +## Documentation & Examples -Two documentation experiences are provided: +UltimateAuth provides three ways to learn, explore, and experience the framework. -### **1) Classic Documentation** -Guides, API reference, tutorials - https://ultimateauth.com +### **1) Documentation** +Comprehensive guides, API references, tutorials, and architectural explanations to help you understand and integrate UltimateAuth. -### **2) Interactive Identity Sandbox** (Available Soon) -Create accounts, simulate devices, test auth flows, and observe UltimateAuth in action. +📖 **[Explore Documentation](https://ultimateauth.com/docs)** + +### **2) Runnable Samples** +Go beyond code snippets. UltimateAuth includes multiple complete, ready-to-run sample applications covering different hosting models, authentication flows, and integration scenarios. + +Clone the repository, open the solution in your IDE, and run the samples directly. No need to build a demo application from scratch. + +💻 **[Explore Samples](https://github.com/CodeBeamOrg/UltimateAuth/tree/dev/samples)** + +### **3) Identity Lab — Interactive Sandbox** +Experience UltimateAuth directly in your browser through a free, interactive sandbox. + +Create test accounts, manage identities and sessions, explore roles and permissions, and experiment with real authentication and authorization flows. + +**Powered by UltimateAuth, not simulated.** The demonstrated identity capabilities use the framework itself, so you can see what UltimateAuth can do before integrating it into your own application. + +🧪 **Identity Lab — Interactive Sandbox** *(Link coming soon)* --- diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor index e4f4bc76..1a81f123 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/App.razor @@ -6,17 +6,15 @@ - - - + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor index 13018486..80b39123 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor @@ -7,8 +7,7 @@ - + @@ -44,10 +43,11 @@ - Launch Lab + StartIcon="@Icons.Material.Filled.RocketLaunch"> + + Launch Lab + Launch + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor.css index 2a0b782b..6ba9b0cc 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor.css +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor.css @@ -1,9 +1,14 @@ .lab-header { - position: relative; - z-index: 20; + position: sticky; + top: 0; + z-index: 1100; width: 100%; background: var(--mud-palette-surface); border-bottom: 1px solid var(--mud-palette-lines-default); + background: var(--mud-palette-surface); + background: color-mix( in srgb, var(--mud-palette-surface) 92%, transparent ); + backdrop-filter: blur(14px); + -webkit-backdrop-filter: blur(14px); } .lab-header-inner { diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor index d3f452c6..2f518741 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Layout/DashboardLayout.razor @@ -3,6 +3,10 @@ @using CodeBeam.UltimateAuth.Sample.Shared.Infrastructure @inject DarkModeManager DarkModeManager + + + +
@@ -97,6 +101,12 @@ My Access + + Authorization Lab + + @if (ShowManagement) {
SANDBOX MANAGEMENT
diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AdminPermissionPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AdminPermissionPage.razor new file mode 100644 index 00000000..90492aef --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AdminPermissionPage.razor @@ -0,0 +1,6 @@ +@page "/dashboard/auth/permission-admin" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AdminRolePage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AdminRolePage.razor new file mode 100644 index 00000000..da784fbe --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AdminRolePage.razor @@ -0,0 +1,5 @@ +@page "/dashboard/auth/admin" +@attribute [UAuthAuthorize(Roles = "Admin")] + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor new file mode 100644 index 00000000..5035cdd4 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor @@ -0,0 +1,5 @@ +@page "/dashboard/auth/aspnet" +@attribute [Authorize] + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AuthenticatedPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AuthenticatedPage.razor new file mode 100644 index 00000000..69ab6fa3 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/AuthenticatedPage.razor @@ -0,0 +1,5 @@ +@page "/dashboard/auth/authenticated" +@attribute [UAuthAuthorize] + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor new file mode 100644 index 00000000..3eef3872 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor @@ -0,0 +1,8 @@ +@page "/dashboard/auth/combined" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] +@attribute [Authorize(Roles = "Admin")] + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/MatchModesPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/MatchModesPage.razor new file mode 100644 index 00000000..60f0df0e --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/MatchModesPage.razor @@ -0,0 +1,4 @@ +@page "/dashboard/auth/match-modes" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/PublicPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/PublicPage.razor new file mode 100644 index 00000000..4b420c68 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/PublicPage.razor @@ -0,0 +1,5 @@ +@page "/dashboard/auth/public" + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/StateViewPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/StateViewPage.razor new file mode 100644 index 00000000..1a144fa8 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/AuthorizationLab/StateViewPage.razor @@ -0,0 +1,4 @@ +@page "/dashboard/auth/state-view" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationLab.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationLab.razor new file mode 100644 index 00000000..396b0b87 --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationLab.razor @@ -0,0 +1,193 @@ +@page "/dashboard/authorization-lab" +@layout DashboardLayout + + + +
+
+ +
+ +
+ + Authorization Lab + + + + Explore how UltimateAuth protects routes, evaluates + authorization requirements, and controls component visibility. + +
+
+ + + These examples demonstrate authorization behavior in real + applications. Each example will open in a new tab once available. + + +
+ + + +
+
+ +
+ Component Authorization + + Explore conditional UI rendering based + on the current user's authorization state. + +
+
+ + +
+ + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationLab.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationLab.razor.css new file mode 100644 index 00000000..e786838d --- /dev/null +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/Dashboard/AuthorizationLab.razor.css @@ -0,0 +1,132 @@ +.auth-lab-header { + display: flex; + align-items: center; + gap: 18px; + margin-bottom: 24px; +} + +.auth-lab-header-icon { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + width: 64px; + height: 64px; + border-radius: 16px; + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); +} + +.auth-lab-header .mud-typography-h4 { + font-size: 1.7rem; + line-height: 1.3; +} + +.auth-lab-section { + margin-bottom: 32px; +} + +.auth-lab-section-title { + display: flex; + align-items: flex-start; + gap: 12px; + margin-bottom: 16px; +} + + .auth-lab-section-title .mud-typography-h6 { + font-size: 1rem; + font-weight: 750; + } + + .auth-lab-section-title .mud-typography-body2 { + font-size: .78rem; + line-height: 1.6; + margin-top: 3px; + } + +.auth-lab-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 12px; +} + +.auth-lab-card { + display: flex; + align-items: flex-start; + gap: 13px; + padding: 18px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 13px; + background: var(--mud-palette-surface); +} + + .auth-lab-card > .mud-icon-root { + flex-shrink: 0; + } + +.auth-lab-card-content { + display: flex; + flex-direction: column; + gap: 7px; + flex: 1; + min-width: 0; +} + + .auth-lab-card-content strong { + font-size: .86rem; + font-weight: 750; + } + + .auth-lab-card-content span { + font-size: .75rem; + line-height: 1.6; + color: var(--mud-palette-text-secondary); + } + +a.auth-lab-card { + color: inherit; + text-decoration: none; + cursor: pointer; + transition: border-color .18s ease, background-color .18s ease, transform .18s ease; +} + + a.auth-lab-card:hover { + border-color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); + transform: translateY(-2px); + } + + a.auth-lab-card:focus-visible { + outline: 2px solid var(--mud-palette-primary); + outline-offset: 2px; + } + +@media (prefers-reduced-motion: reduce) { + a.auth-lab-card { + transition: none; + } +} + +@media (max-width: 700px) { + .auth-lab-grid { + grid-template-columns: 1fr; + } + + .auth-lab-header { + align-items: flex-start; + gap: 12px; + } + + .auth-lab-header-icon { + width: 48px; + height: 48px; + } + + .auth-lab-header .mud-typography-h4 { + font-size: 1.35rem; + } + + .auth-lab-card { + padding: 15px; + } +} diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor index d2aee5a9..beb937b2 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor @@ -3,6 +3,15 @@ Identity Lab — Explore UltimateAuth + + + + + + + + +
@@ -13,6 +22,19 @@ THE ULTIMATEAUTH EXPERIENCE
+ + + + + Open Source on GitHub + + + + Identity, made interactive. @@ -20,8 +42,7 @@ Create your sandbox. Manage identities. - Explore authentication, authorization, - and session management powered by UltimateAuth. + Explore authentication, authorization and session management powered by UltimateAuth. @@ -30,7 +51,7 @@ Color="Color.Primary" Size="Size.Large" EndIcon="@Icons.Material.Filled.ArrowForward"> - Launch Your Sandbox + Create Your Sandbox - Free to explore + Free to explore completely - Real authentication flows + Real auth flows @@ -154,7 +175,18 @@ - Go beyond documentation. Explore real identity workflows through an interactive sandbox. + Go beyond documentation. Explore real identity workflows + through an interactive sandbox. + + + + Powered by UltimateAuth, not simulated. + Every authentication, authorization, and session management + capability demonstrated here is powered by UltimateAuth itself. + If it works in Identity Lab, it's a capability you can + build with UltimateAuth. @@ -232,6 +264,115 @@ + +
+ + +
+ + A SHARED DEVELOPER SANDBOX + + + + Explore freely. Use responsibly. + + + + Identity Lab is a free, shared environment for + learning, experimentation, and discovering issues + in UltimateAuth. Help us keep it available for everyone. + +
+ + + + + +
+ +
+ + Learn & test + + Explore authentication, authorization, + sessions, and account management to understand + how UltimateAuth works. + +
+
+ + + +
+ +
+ + Fair use + + Avoid automated load testing, excessive + requests, or activities that could disrupt + the shared environment. + +
+
+ + + +
+ +
+ + Test data only + + Use fictional accounts and test credentials. + Never submit real personal, confidential, + or production information. + +
+
+ + + +
+ +
+ + Report issues + + Found unexpected behavior? Help improve + UltimateAuth by sharing your findings + with the open-source community. + +
+
+ +
+ + + +
+
@code { private readonly (string Title, string Description, string Icon)[] _features = diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor.css index 393e793e..47a473dc 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor.css +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Pages/LandingPage.razor.css @@ -366,6 +366,70 @@ background: var(--mud-palette-background); } +.lab-guidelines-section { + border-top: 1px solid var(--mud-palette-lines-default); +} + +.lab-guideline-card { + height: 100%; + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 12px; + border-radius: 14px; + background: var(--mud-palette-surface); +} + + .lab-guideline-card .mud-typography-h6 { + font-size: 1rem; + font-weight: 700; + } + + .lab-guideline-card .mud-typography-body2 { + font-size: .82rem; + line-height: 1.65; + } + +.lab-guidelines-footer { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 12px; + margin-top: 24px; +} + +.lab-opensource-link { + display: inline-flex; + align-items: center; + gap: 8px; + width: fit-content; + margin-top: 16px; + margin-bottom: 12px; + padding: 7px 12px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 999px; + color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); + text-decoration: none; + font-size: .76rem; + font-weight: 650; + transition: border-color .2s ease; +} + + .lab-opensource-link:hover { + border-color: var(--mud-palette-primary); + color: var(--mud-palette-primary); + } + +@media (max-width: 599.98px) { + .lab-guidelines-footer { + flex-direction: column; + align-items: center; + text-align: center; + } +} + @media (max-width: 960px) { .lab-preview { transform: none; diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor index 8e10622e..233c5407 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/_Imports.razor @@ -1,5 +1,6 @@ @using System.Net.Http @using System.Net.Http.Json +@using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Components.Forms @using Microsoft.AspNetCore.Components.Routing @using Microsoft.AspNetCore.Components.Web diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/identity-lab.png b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/identity-lab.png new file mode 100644 index 0000000000000000000000000000000000000000..06f1229c9fadad58244fc2c00e9a50419e109c9f GIT binary patch literal 1327440 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
  • $Dd%pdvnFsnl-v0jS#<`!dbm_tf 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

    aXX@12&z-HNi!L7I>um8|Q~Q5$81;w;w@dtk_n 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

    jym_w9A-?MH=3Lg3uZu- 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�{^ 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

      Tc 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

      ^{kCih0u&tv?brWT`q6Y*=+qp8 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≈s7YzPzK0Duw*5!yGzq^|heKjDR%5pQ0P5 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�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 literal 0 HcmV?d00001 diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css deleted file mode 100644 index 3882a819..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css +++ /dev/null @@ -1,4085 +0,0 @@ -/*! - * Bootstrap Grid v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -.container, -.container-fluid, -.container-xxl, -.container-xl, -.container-lg, -.container-md, -.container-sm { - --bs-gutter-x: 1.5rem; - --bs-gutter-y: 0; - width: 100%; - padding-right: calc(var(--bs-gutter-x) * 0.5); - padding-left: calc(var(--bs-gutter-x) * 0.5); - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container-sm, .container { - max-width: 540px; - } -} -@media (min-width: 768px) { - .container-md, .container-sm, .container { - max-width: 720px; - } -} -@media (min-width: 992px) { - .container-lg, .container-md, .container-sm, .container { - max-width: 960px; - } -} -@media (min-width: 1200px) { - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1140px; - } -} -@media (min-width: 1400px) { - .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1320px; - } -} -:root { - --bs-breakpoint-xs: 0; - --bs-breakpoint-sm: 576px; - --bs-breakpoint-md: 768px; - --bs-breakpoint-lg: 992px; - --bs-breakpoint-xl: 1200px; - --bs-breakpoint-xxl: 1400px; -} - -.row { - --bs-gutter-x: 1.5rem; - --bs-gutter-y: 0; - display: flex; - flex-wrap: wrap; - margin-top: calc(-1 * var(--bs-gutter-y)); - margin-right: calc(-0.5 * var(--bs-gutter-x)); - margin-left: calc(-0.5 * var(--bs-gutter-x)); -} -.row > * { - box-sizing: border-box; - flex-shrink: 0; - width: 100%; - max-width: 100%; - padding-right: calc(var(--bs-gutter-x) * 0.5); - padding-left: calc(var(--bs-gutter-x) * 0.5); - margin-top: var(--bs-gutter-y); -} - -.col { - flex: 1 0 0%; -} - -.row-cols-auto > * { - flex: 0 0 auto; - width: auto; -} - -.row-cols-1 > * { - flex: 0 0 auto; - width: 100%; -} - -.row-cols-2 > * { - flex: 0 0 auto; - width: 50%; -} - -.row-cols-3 > * { - flex: 0 0 auto; - width: 33.33333333%; -} - -.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.66666667%; -} - -.col-auto { - flex: 0 0 auto; - width: auto; -} - -.col-1 { - flex: 0 0 auto; - width: 8.33333333%; -} - -.col-2 { - flex: 0 0 auto; - width: 16.66666667%; -} - -.col-3 { - flex: 0 0 auto; - width: 25%; -} - -.col-4 { - flex: 0 0 auto; - width: 33.33333333%; -} - -.col-5 { - flex: 0 0 auto; - width: 41.66666667%; -} - -.col-6 { - flex: 0 0 auto; - width: 50%; -} - -.col-7 { - flex: 0 0 auto; - width: 58.33333333%; -} - -.col-8 { - flex: 0 0 auto; - width: 66.66666667%; -} - -.col-9 { - flex: 0 0 auto; - width: 75%; -} - -.col-10 { - flex: 0 0 auto; - width: 83.33333333%; -} - -.col-11 { - flex: 0 0 auto; - width: 91.66666667%; -} - -.col-12 { - flex: 0 0 auto; - width: 100%; -} - -.offset-1 { - margin-left: 8.33333333%; -} - -.offset-2 { - margin-left: 16.66666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.33333333%; -} - -.offset-5 { - margin-left: 41.66666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.33333333%; -} - -.offset-8 { - margin-left: 66.66666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.33333333%; -} - -.offset-11 { - margin-left: 91.66666667%; -} - -.g-0, -.gx-0 { - --bs-gutter-x: 0; -} - -.g-0, -.gy-0 { - --bs-gutter-y: 0; -} - -.g-1, -.gx-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-sm-auto { - flex: 0 0 auto; - width: auto; - } - .col-sm-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-sm-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-sm-3 { - flex: 0 0 auto; - width: 25%; - } - .col-sm-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-sm-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-sm-6 { - flex: 0 0 auto; - width: 50%; - } - .col-sm-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-sm-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-sm-9 { - flex: 0 0 auto; - width: 75%; - } - .col-sm-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-sm-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-sm-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.33333333%; - } - .offset-sm-2 { - margin-left: 16.66666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.33333333%; - } - .offset-sm-5 { - margin-left: 41.66666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.33333333%; - } - .offset-sm-8 { - margin-left: 66.66666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.33333333%; - } - .offset-sm-11 { - margin-left: 91.66666667%; - } - .g-sm-0, - .gx-sm-0 { - --bs-gutter-x: 0; - } - .g-sm-0, - .gy-sm-0 { - --bs-gutter-y: 0; - } - .g-sm-1, - .gx-sm-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-md-auto { - flex: 0 0 auto; - width: auto; - } - .col-md-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-md-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-md-3 { - flex: 0 0 auto; - width: 25%; - } - .col-md-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-md-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-md-6 { - flex: 0 0 auto; - width: 50%; - } - .col-md-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-md-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-md-9 { - flex: 0 0 auto; - width: 75%; - } - .col-md-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-md-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-md-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.33333333%; - } - .offset-md-2 { - margin-left: 16.66666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.33333333%; - } - .offset-md-5 { - margin-left: 41.66666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.33333333%; - } - .offset-md-8 { - margin-left: 66.66666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.33333333%; - } - .offset-md-11 { - margin-left: 91.66666667%; - } - .g-md-0, - .gx-md-0 { - --bs-gutter-x: 0; - } - .g-md-0, - .gy-md-0 { - --bs-gutter-y: 0; - } - .g-md-1, - .gx-md-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-lg-auto { - flex: 0 0 auto; - width: auto; - } - .col-lg-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-lg-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-lg-3 { - flex: 0 0 auto; - width: 25%; - } - .col-lg-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-lg-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-lg-6 { - flex: 0 0 auto; - width: 50%; - } - .col-lg-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-lg-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-lg-9 { - flex: 0 0 auto; - width: 75%; - } - .col-lg-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-lg-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-lg-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.33333333%; - } - .offset-lg-2 { - margin-left: 16.66666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.33333333%; - } - .offset-lg-5 { - margin-left: 41.66666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.33333333%; - } - .offset-lg-8 { - margin-left: 66.66666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.33333333%; - } - .offset-lg-11 { - margin-left: 91.66666667%; - } - .g-lg-0, - .gx-lg-0 { - --bs-gutter-x: 0; - } - .g-lg-0, - .gy-lg-0 { - --bs-gutter-y: 0; - } - .g-lg-1, - .gx-lg-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-xl-auto { - flex: 0 0 auto; - width: auto; - } - .col-xl-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-xl-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-xl-3 { - flex: 0 0 auto; - width: 25%; - } - .col-xl-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-xl-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-xl-6 { - flex: 0 0 auto; - width: 50%; - } - .col-xl-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-xl-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-xl-9 { - flex: 0 0 auto; - width: 75%; - } - .col-xl-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-xl-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-xl-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.33333333%; - } - .offset-xl-2 { - margin-left: 16.66666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.33333333%; - } - .offset-xl-5 { - margin-left: 41.66666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.33333333%; - } - .offset-xl-8 { - margin-left: 66.66666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.33333333%; - } - .offset-xl-11 { - margin-left: 91.66666667%; - } - .g-xl-0, - .gx-xl-0 { - --bs-gutter-x: 0; - } - .g-xl-0, - .gy-xl-0 { - --bs-gutter-y: 0; - } - .g-xl-1, - .gx-xl-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-xxl-auto { - flex: 0 0 auto; - width: auto; - } - .col-xxl-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-xxl-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-xxl-3 { - flex: 0 0 auto; - width: 25%; - } - .col-xxl-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-xxl-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-xxl-6 { - flex: 0 0 auto; - width: 50%; - } - .col-xxl-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-xxl-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-xxl-9 { - flex: 0 0 auto; - width: 75%; - } - .col-xxl-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-xxl-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-xxl-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-xxl-0 { - margin-left: 0; - } - .offset-xxl-1 { - margin-left: 8.33333333%; - } - .offset-xxl-2 { - margin-left: 16.66666667%; - } - .offset-xxl-3 { - margin-left: 25%; - } - .offset-xxl-4 { - margin-left: 33.33333333%; - } - .offset-xxl-5 { - margin-left: 41.66666667%; - } - .offset-xxl-6 { - margin-left: 50%; - } - .offset-xxl-7 { - margin-left: 58.33333333%; - } - .offset-xxl-8 { - margin-left: 66.66666667%; - } - .offset-xxl-9 { - margin-left: 75%; - } - .offset-xxl-10 { - margin-left: 83.33333333%; - } - .offset-xxl-11 { - margin-left: 91.66666667%; - } - .g-xxl-0, - .gx-xxl-0 { - --bs-gutter-x: 0; - } - .g-xxl-0, - .gy-xxl-0 { - --bs-gutter-y: 0; - } - .g-xxl-1, - .gx-xxl-1 { - --bs-gutter-x: 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; - } -} -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-grid { - display: grid !important; -} - -.d-inline-grid { - display: inline-grid !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline-flex { - display: inline-flex !important; -} - -.d-none { - display: none !important; -} - -.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; -} - -@media (min-width: 576px) { - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-grid { - display: grid !important; - } - .d-sm-inline-grid { - display: inline-grid !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline-flex { - display: inline-flex !important; - } - .d-sm-none { - display: none !important; - } - .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; - } -} -@media (min-width: 768px) { - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-grid { - display: grid !important; - } - .d-md-inline-grid { - display: inline-grid !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline-flex { - display: inline-flex !important; - } - .d-md-none { - display: none !important; - } - .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; - } -} -@media (min-width: 992px) { - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-grid { - display: grid !important; - } - .d-lg-inline-grid { - display: inline-grid !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline-flex { - display: inline-flex !important; - } - .d-lg-none { - display: none !important; - } - .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; - } -} -@media (min-width: 1200px) { - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-grid { - display: grid !important; - } - .d-xl-inline-grid { - display: inline-grid !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline-flex { - display: inline-flex !important; - } - .d-xl-none { - display: none !important; - } - .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; - } -} -@media (min-width: 1400px) { - .d-xxl-inline { - display: inline !important; - } - .d-xxl-inline-block { - display: inline-block !important; - } - .d-xxl-block { - display: block !important; - } - .d-xxl-grid { - display: grid !important; - } - .d-xxl-inline-grid { - display: inline-grid !important; - } - .d-xxl-table { - display: table !important; - } - .d-xxl-table-row { - display: table-row !important; - } - .d-xxl-table-cell { - display: table-cell !important; - } - .d-xxl-flex { - display: flex !important; - } - .d-xxl-inline-flex { - display: inline-flex !important; - } - .d-xxl-none { - display: none !important; - } - .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; - } -} -@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-inline-grid { - display: inline-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; - } -} - -/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map deleted file mode 100644 index ce99ec19..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EAOI,+BAAA;ALgtCZ;;AKvtCQ;EAOI,8BAAA;ALotCZ;;AK3tCQ;EAOI,oBAAA;ALwtCZ;;AK/tCQ;EAOI,mBAAA;AL4tCZ;;AKnuCQ;EAOI,mBAAA;ALguCZ;;AKvuCQ;EAOI,mBAAA;ALouCZ;;AK3uCQ;EAOI,mBAAA;ALwuCZ;;AK/uCQ;EAOI,mBAAA;AL4uCZ;;AKnvCQ;EAOI,mBAAA;ALgvCZ;;AKvvCQ;EAOI,mBAAA;ALovCZ;;AK3vCQ;EAOI,oBAAA;ALwvCZ;;AK/vCQ;EAOI,0BAAA;AL4vCZ;;AKnwCQ;EAOI,yBAAA;ALgwCZ;;AKvwCQ;EAOI,uBAAA;ALowCZ;;AK3wCQ;EAOI,yBAAA;ALwwCZ;;AK/wCQ;EAOI,uBAAA;AL4wCZ;;AKnxCQ;EAOI,uBAAA;ALgxCZ;;AKvxCQ;EAOI,0BAAA;EAAA,yBAAA;ALqxCZ;;AK5xCQ;EAOI,gCAAA;EAAA,+BAAA;AL0xCZ;;AKjyCQ;EAOI,+BAAA;EAAA,8BAAA;AL+xCZ;;AKtyCQ;EAOI,6BAAA;EAAA,4BAAA;ALoyCZ;;AK3yCQ;EAOI,+BAAA;EAAA,8BAAA;ALyyCZ;;AKhzCQ;EAOI,6BAAA;EAAA,4BAAA;AL8yCZ;;AKrzCQ;EAOI,6BAAA;EAAA,4BAAA;ALmzCZ;;AK1zCQ;EAOI,wBAAA;EAAA,2BAAA;ALwzCZ;;AK/zCQ;EAOI,8BAAA;EAAA,iCAAA;AL6zCZ;;AKp0CQ;EAOI,6BAAA;EAAA,gCAAA;ALk0CZ;;AKz0CQ;EAOI,2BAAA;EAAA,8BAAA;ALu0CZ;;AK90CQ;EAOI,6BAAA;EAAA,gCAAA;AL40CZ;;AKn1CQ;EAOI,2BAAA;EAAA,8BAAA;ALi1CZ;;AKx1CQ;EAOI,2BAAA;EAAA,8BAAA;ALs1CZ;;AK71CQ;EAOI,wBAAA;AL01CZ;;AKj2CQ;EAOI,8BAAA;AL81CZ;;AKr2CQ;EAOI,6BAAA;ALk2CZ;;AKz2CQ;EAOI,2BAAA;ALs2CZ;;AK72CQ;EAOI,6BAAA;AL02CZ;;AKj3CQ;EAOI,2BAAA;AL82CZ;;AKr3CQ;EAOI,2BAAA;ALk3CZ;;AKz3CQ;EAOI,0BAAA;ALs3CZ;;AK73CQ;EAOI,gCAAA;AL03CZ;;AKj4CQ;EAOI,+BAAA;AL83CZ;;AKr4CQ;EAOI,6BAAA;ALk4CZ;;AKz4CQ;EAOI,+BAAA;ALs4CZ;;AK74CQ;EAOI,6BAAA;AL04CZ;;AKj5CQ;EAOI,6BAAA;AL84CZ;;AKr5CQ;EAOI,2BAAA;ALk5CZ;;AKz5CQ;EAOI,iCAAA;ALs5CZ;;AK75CQ;EAOI,gCAAA;AL05CZ;;AKj6CQ;EAOI,8BAAA;AL85CZ;;AKr6CQ;EAOI,gCAAA;ALk6CZ;;AKz6CQ;EAOI,8BAAA;ALs6CZ;;AK76CQ;EAOI,8BAAA;AL06CZ;;AKj7CQ;EAOI,yBAAA;AL86CZ;;AKr7CQ;EAOI,+BAAA;ALk7CZ;;AKz7CQ;EAOI,8BAAA;ALs7CZ;;AK77CQ;EAOI,4BAAA;AL07CZ;;AKj8CQ;EAOI,8BAAA;AL87CZ;;AKr8CQ;EAOI,4BAAA;ALk8CZ;;AKz8CQ;EAOI,4BAAA;ALs8CZ;;AK78CQ;EAOI,qBAAA;AL08CZ;;AKj9CQ;EAOI,2BAAA;AL88CZ;;AKr9CQ;EAOI,0BAAA;ALk9CZ;;AKz9CQ;EAOI,wBAAA;ALs9CZ;;AK79CQ;EAOI,0BAAA;AL09CZ;;AKj+CQ;EAOI,wBAAA;AL89CZ;;AKr+CQ;EAOI,2BAAA;EAAA,0BAAA;ALm+CZ;;AK1+CQ;EAOI,iCAAA;EAAA,gCAAA;ALw+CZ;;AK/+CQ;EAOI,gCAAA;EAAA,+BAAA;AL6+CZ;;AKp/CQ;EAOI,8BAAA;EAAA,6BAAA;ALk/CZ;;AKz/CQ;EAOI,gCAAA;EAAA,+BAAA;ALu/CZ;;AK9/CQ;EAOI,8BAAA;EAAA,6BAAA;AL4/CZ;;AKngDQ;EAOI,yBAAA;EAAA,4BAAA;ALigDZ;;AKxgDQ;EAOI,+BAAA;EAAA,kCAAA;ALsgDZ;;AK7gDQ;EAOI,8BAAA;EAAA,iCAAA;AL2gDZ;;AKlhDQ;EAOI,4BAAA;EAAA,+BAAA;ALghDZ;;AKvhDQ;EAOI,8BAAA;EAAA,iCAAA;ALqhDZ;;AK5hDQ;EAOI,4BAAA;EAAA,+BAAA;AL0hDZ;;AKjiDQ;EAOI,yBAAA;AL8hDZ;;AKriDQ;EAOI,+BAAA;ALkiDZ;;AKziDQ;EAOI,8BAAA;ALsiDZ;;AK7iDQ;EAOI,4BAAA;AL0iDZ;;AKjjDQ;EAOI,8BAAA;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,2BAAA;ALsjDZ;;AK7jDQ;EAOI,iCAAA;AL0jDZ;;AKjkDQ;EAOI,gCAAA;AL8jDZ;;AKrkDQ;EAOI,8BAAA;ALkkDZ;;AKzkDQ;EAOI,gCAAA;ALskDZ;;AK7kDQ;EAOI,8BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,0BAAA;ALsmDZ;;AK7mDQ;EAOI,gCAAA;AL0mDZ;;AKjnDQ;EAOI,+BAAA;AL8mDZ;;AKrnDQ;EAOI,6BAAA;ALknDZ;;AKznDQ;EAOI,+BAAA;ALsnDZ;;AK7nDQ;EAOI,6BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,0BAAA;IAAA,yBAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;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AAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,0BAAA;ELw9FV;EK/9FM;IAOI,gCAAA;EL29FV;EKl+FM;IAOI,+BAAA;EL89FV;EKr+FM;IAOI,6BAAA;ELi+FV;EKx+FM;IAOI,+BAAA;ELo+FV;EK3+FM;IAOI,6BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/l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ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,2BAAA;ELm4GV;EK14GM;IAOI,iCAAA;ELs4GV;EK74GM;IAOI,gCAAA;ELy4GV;EKh5GM;IAOI,8BAAA;EL44GV;EKn5GM;IAOI,gCAAA;EL+4GV;EKt5GM;IAOI,8BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,0BAAA;ELu6GV;EK96GM;IAOI,gCAAA;EL06GV;EKj7GM;IAOI,+BAAA;EL66GV;EKp7GM;IAOI,6BAAA;ELg7GV;EKv7GM;IAOI,+BAAA;ELm7GV;EK17GM;IAOI,6BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\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","// 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","/*!\n * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\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","// 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// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\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$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\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 `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !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// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\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$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-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\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 focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\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-medium: 500 !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: inherit !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// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\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: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\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-color: $body-color !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}emphasis-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !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(var(--#{$prefix}emphasis-color-rgb), $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(var(--#{$prefix}emphasis-color-rgb), $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(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor: .2 !default;\n$table-border-width: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !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: var(--#{$prefix}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-color: var(--#{$prefix}body-color) !default;\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$btn-link-focus-shadow-rgb: to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\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: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !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: $focus-ring-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,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !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,\") !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,\") !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,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}tertiary-bg) !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: $input-disabled-bg !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,\") !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: var(--#{$prefix}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: var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !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-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !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,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\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// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\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: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !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(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !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-icon-color: $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !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: var(--#{$prefix}tertiary-color) !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: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !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: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}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-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}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(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !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: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}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: var(--#{$prefix}body-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: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !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,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}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: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !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: var(--#{$prefix}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(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !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: var(--#{$prefix}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: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}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: var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up: var(--#{$prefix}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: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !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// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\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: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}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: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !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: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !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: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !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,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// 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,\") !default;\n$btn-close-focus-shadow: $focus-ring-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: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-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\n@import \"variables-dark\"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\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","// 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: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // 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 an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// 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","// 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"]} \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css deleted file mode 100644 index 49b843b1..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap Grid v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */.container,.container-fluid,.container-lg,.container-md,.container-sm,.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-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x: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>*{box-sizing:border-box;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.33333333%}.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.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: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}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.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:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.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:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.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:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.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:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.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:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.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:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!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-inline-grid{display:inline-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}} -/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map deleted file mode 100644 index a0db8b57..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\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","/*!\n * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// 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","// 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","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\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","// 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: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // 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 an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// 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","// 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"]} \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css deleted file mode 100644 index 1a5d6563..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css +++ /dev/null @@ -1,4084 +0,0 @@ -/*! - * Bootstrap Grid v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -.container, -.container-fluid, -.container-xxl, -.container-xl, -.container-lg, -.container-md, -.container-sm { - --bs-gutter-x: 1.5rem; - --bs-gutter-y: 0; - width: 100%; - padding-left: calc(var(--bs-gutter-x) * 0.5); - padding-right: calc(var(--bs-gutter-x) * 0.5); - margin-left: auto; - margin-right: auto; -} - -@media (min-width: 576px) { - .container-sm, .container { - max-width: 540px; - } -} -@media (min-width: 768px) { - .container-md, .container-sm, .container { - max-width: 720px; - } -} -@media (min-width: 992px) { - .container-lg, .container-md, .container-sm, .container { - max-width: 960px; - } -} -@media (min-width: 1200px) { - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1140px; - } -} -@media (min-width: 1400px) { - .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1320px; - } -} -:root { - --bs-breakpoint-xs: 0; - --bs-breakpoint-sm: 576px; - --bs-breakpoint-md: 768px; - --bs-breakpoint-lg: 992px; - --bs-breakpoint-xl: 1200px; - --bs-breakpoint-xxl: 1400px; -} - -.row { - --bs-gutter-x: 1.5rem; - --bs-gutter-y: 0; - display: flex; - flex-wrap: wrap; - margin-top: calc(-1 * var(--bs-gutter-y)); - margin-left: calc(-0.5 * var(--bs-gutter-x)); - margin-right: calc(-0.5 * var(--bs-gutter-x)); -} -.row > * { - box-sizing: border-box; - flex-shrink: 0; - width: 100%; - max-width: 100%; - padding-left: calc(var(--bs-gutter-x) * 0.5); - padding-right: calc(var(--bs-gutter-x) * 0.5); - margin-top: var(--bs-gutter-y); -} - -.col { - flex: 1 0 0%; -} - -.row-cols-auto > * { - flex: 0 0 auto; - width: auto; -} - -.row-cols-1 > * { - flex: 0 0 auto; - width: 100%; -} - -.row-cols-2 > * { - flex: 0 0 auto; - width: 50%; -} - -.row-cols-3 > * { - flex: 0 0 auto; - width: 33.33333333%; -} - -.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.66666667%; -} - -.col-auto { - flex: 0 0 auto; - width: auto; -} - -.col-1 { - flex: 0 0 auto; - width: 8.33333333%; -} - -.col-2 { - flex: 0 0 auto; - width: 16.66666667%; -} - -.col-3 { - flex: 0 0 auto; - width: 25%; -} - -.col-4 { - flex: 0 0 auto; - width: 33.33333333%; -} - -.col-5 { - flex: 0 0 auto; - width: 41.66666667%; -} - -.col-6 { - flex: 0 0 auto; - width: 50%; -} - -.col-7 { - flex: 0 0 auto; - width: 58.33333333%; -} - -.col-8 { - flex: 0 0 auto; - width: 66.66666667%; -} - -.col-9 { - flex: 0 0 auto; - width: 75%; -} - -.col-10 { - flex: 0 0 auto; - width: 83.33333333%; -} - -.col-11 { - flex: 0 0 auto; - width: 91.66666667%; -} - -.col-12 { - flex: 0 0 auto; - width: 100%; -} - -.offset-1 { - margin-right: 8.33333333%; -} - -.offset-2 { - margin-right: 16.66666667%; -} - -.offset-3 { - margin-right: 25%; -} - -.offset-4 { - margin-right: 33.33333333%; -} - -.offset-5 { - margin-right: 41.66666667%; -} - -.offset-6 { - margin-right: 50%; -} - -.offset-7 { - margin-right: 58.33333333%; -} - -.offset-8 { - margin-right: 66.66666667%; -} - -.offset-9 { - margin-right: 75%; -} - -.offset-10 { - margin-right: 83.33333333%; -} - -.offset-11 { - margin-right: 91.66666667%; -} - -.g-0, -.gx-0 { - --bs-gutter-x: 0; -} - -.g-0, -.gy-0 { - --bs-gutter-y: 0; -} - -.g-1, -.gx-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-sm-auto { - flex: 0 0 auto; - width: auto; - } - .col-sm-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-sm-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-sm-3 { - flex: 0 0 auto; - width: 25%; - } - .col-sm-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-sm-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-sm-6 { - flex: 0 0 auto; - width: 50%; - } - .col-sm-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-sm-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-sm-9 { - flex: 0 0 auto; - width: 75%; - } - .col-sm-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-sm-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-sm-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-sm-0 { - margin-right: 0; - } - .offset-sm-1 { - margin-right: 8.33333333%; - } - .offset-sm-2 { - margin-right: 16.66666667%; - } - .offset-sm-3 { - margin-right: 25%; - } - .offset-sm-4 { - margin-right: 33.33333333%; - } - .offset-sm-5 { - margin-right: 41.66666667%; - } - .offset-sm-6 { - margin-right: 50%; - } - .offset-sm-7 { - margin-right: 58.33333333%; - } - .offset-sm-8 { - margin-right: 66.66666667%; - } - .offset-sm-9 { - margin-right: 75%; - } - .offset-sm-10 { - margin-right: 83.33333333%; - } - .offset-sm-11 { - margin-right: 91.66666667%; - } - .g-sm-0, - .gx-sm-0 { - --bs-gutter-x: 0; - } - .g-sm-0, - .gy-sm-0 { - --bs-gutter-y: 0; - } - .g-sm-1, - .gx-sm-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-md-auto { - flex: 0 0 auto; - width: auto; - } - .col-md-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-md-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-md-3 { - flex: 0 0 auto; - width: 25%; - } - .col-md-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-md-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-md-6 { - flex: 0 0 auto; - width: 50%; - } - .col-md-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-md-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-md-9 { - flex: 0 0 auto; - width: 75%; - } - .col-md-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-md-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-md-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-md-0 { - margin-right: 0; - } - .offset-md-1 { - margin-right: 8.33333333%; - } - .offset-md-2 { - margin-right: 16.66666667%; - } - .offset-md-3 { - margin-right: 25%; - } - .offset-md-4 { - margin-right: 33.33333333%; - } - .offset-md-5 { - margin-right: 41.66666667%; - } - .offset-md-6 { - margin-right: 50%; - } - .offset-md-7 { - margin-right: 58.33333333%; - } - .offset-md-8 { - margin-right: 66.66666667%; - } - .offset-md-9 { - margin-right: 75%; - } - .offset-md-10 { - margin-right: 83.33333333%; - } - .offset-md-11 { - margin-right: 91.66666667%; - } - .g-md-0, - .gx-md-0 { - --bs-gutter-x: 0; - } - .g-md-0, - .gy-md-0 { - --bs-gutter-y: 0; - } - .g-md-1, - .gx-md-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-lg-auto { - flex: 0 0 auto; - width: auto; - } - .col-lg-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-lg-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-lg-3 { - flex: 0 0 auto; - width: 25%; - } - .col-lg-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-lg-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-lg-6 { - flex: 0 0 auto; - width: 50%; - } - .col-lg-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-lg-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-lg-9 { - flex: 0 0 auto; - width: 75%; - } - .col-lg-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-lg-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-lg-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-lg-0 { - margin-right: 0; - } - .offset-lg-1 { - margin-right: 8.33333333%; - } - .offset-lg-2 { - margin-right: 16.66666667%; - } - .offset-lg-3 { - margin-right: 25%; - } - .offset-lg-4 { - margin-right: 33.33333333%; - } - .offset-lg-5 { - margin-right: 41.66666667%; - } - .offset-lg-6 { - margin-right: 50%; - } - .offset-lg-7 { - margin-right: 58.33333333%; - } - .offset-lg-8 { - margin-right: 66.66666667%; - } - .offset-lg-9 { - margin-right: 75%; - } - .offset-lg-10 { - margin-right: 83.33333333%; - } - .offset-lg-11 { - margin-right: 91.66666667%; - } - .g-lg-0, - .gx-lg-0 { - --bs-gutter-x: 0; - } - .g-lg-0, - .gy-lg-0 { - --bs-gutter-y: 0; - } - .g-lg-1, - .gx-lg-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-xl-auto { - flex: 0 0 auto; - width: auto; - } - .col-xl-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-xl-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-xl-3 { - flex: 0 0 auto; - width: 25%; - } - .col-xl-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-xl-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-xl-6 { - flex: 0 0 auto; - width: 50%; - } - .col-xl-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-xl-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-xl-9 { - flex: 0 0 auto; - width: 75%; - } - .col-xl-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-xl-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-xl-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-xl-0 { - margin-right: 0; - } - .offset-xl-1 { - margin-right: 8.33333333%; - } - .offset-xl-2 { - margin-right: 16.66666667%; - } - .offset-xl-3 { - margin-right: 25%; - } - .offset-xl-4 { - margin-right: 33.33333333%; - } - .offset-xl-5 { - margin-right: 41.66666667%; - } - .offset-xl-6 { - margin-right: 50%; - } - .offset-xl-7 { - margin-right: 58.33333333%; - } - .offset-xl-8 { - margin-right: 66.66666667%; - } - .offset-xl-9 { - margin-right: 75%; - } - .offset-xl-10 { - margin-right: 83.33333333%; - } - .offset-xl-11 { - margin-right: 91.66666667%; - } - .g-xl-0, - .gx-xl-0 { - --bs-gutter-x: 0; - } - .g-xl-0, - .gy-xl-0 { - --bs-gutter-y: 0; - } - .g-xl-1, - .gx-xl-1 { - --bs-gutter-x: 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.33333333%; - } - .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.66666667%; - } - .col-xxl-auto { - flex: 0 0 auto; - width: auto; - } - .col-xxl-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-xxl-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-xxl-3 { - flex: 0 0 auto; - width: 25%; - } - .col-xxl-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-xxl-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-xxl-6 { - flex: 0 0 auto; - width: 50%; - } - .col-xxl-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-xxl-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-xxl-9 { - flex: 0 0 auto; - width: 75%; - } - .col-xxl-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-xxl-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-xxl-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-xxl-0 { - margin-right: 0; - } - .offset-xxl-1 { - margin-right: 8.33333333%; - } - .offset-xxl-2 { - margin-right: 16.66666667%; - } - .offset-xxl-3 { - margin-right: 25%; - } - .offset-xxl-4 { - margin-right: 33.33333333%; - } - .offset-xxl-5 { - margin-right: 41.66666667%; - } - .offset-xxl-6 { - margin-right: 50%; - } - .offset-xxl-7 { - margin-right: 58.33333333%; - } - .offset-xxl-8 { - margin-right: 66.66666667%; - } - .offset-xxl-9 { - margin-right: 75%; - } - .offset-xxl-10 { - margin-right: 83.33333333%; - } - .offset-xxl-11 { - margin-right: 91.66666667%; - } - .g-xxl-0, - .gx-xxl-0 { - --bs-gutter-x: 0; - } - .g-xxl-0, - .gy-xxl-0 { - --bs-gutter-y: 0; - } - .g-xxl-1, - .gx-xxl-1 { - --bs-gutter-x: 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; - } -} -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-grid { - display: grid !important; -} - -.d-inline-grid { - display: inline-grid !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline-flex { - display: inline-flex !important; -} - -.d-none { - display: none !important; -} - -.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-left: 0 !important; - margin-right: 0 !important; -} - -.mx-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; -} - -.mx-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; -} - -.mx-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; -} - -.mx-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; -} - -.mx-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; -} - -.mx-auto { - margin-left: auto !important; - margin-right: 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-left: 0 !important; -} - -.me-1 { - margin-left: 0.25rem !important; -} - -.me-2 { - margin-left: 0.5rem !important; -} - -.me-3 { - margin-left: 1rem !important; -} - -.me-4 { - margin-left: 1.5rem !important; -} - -.me-5 { - margin-left: 3rem !important; -} - -.me-auto { - margin-left: 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-right: 0 !important; -} - -.ms-1 { - margin-right: 0.25rem !important; -} - -.ms-2 { - margin-right: 0.5rem !important; -} - -.ms-3 { - margin-right: 1rem !important; -} - -.ms-4 { - margin-right: 1.5rem !important; -} - -.ms-5 { - margin-right: 3rem !important; -} - -.ms-auto { - margin-right: 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-left: 0 !important; - padding-right: 0 !important; -} - -.px-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; -} - -.px-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; -} - -.px-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; -} - -.px-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; -} - -.px-5 { - padding-left: 3rem !important; - padding-right: 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-left: 0 !important; -} - -.pe-1 { - padding-left: 0.25rem !important; -} - -.pe-2 { - padding-left: 0.5rem !important; -} - -.pe-3 { - padding-left: 1rem !important; -} - -.pe-4 { - padding-left: 1.5rem !important; -} - -.pe-5 { - padding-left: 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-right: 0 !important; -} - -.ps-1 { - padding-right: 0.25rem !important; -} - -.ps-2 { - padding-right: 0.5rem !important; -} - -.ps-3 { - padding-right: 1rem !important; -} - -.ps-4 { - padding-right: 1.5rem !important; -} - -.ps-5 { - padding-right: 3rem !important; -} - -@media (min-width: 576px) { - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-grid { - display: grid !important; - } - .d-sm-inline-grid { - display: inline-grid !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline-flex { - display: inline-flex !important; - } - .d-sm-none { - display: none !important; - } - .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-left: 0 !important; - margin-right: 0 !important; - } - .mx-sm-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-sm-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-sm-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-sm-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; - } - .mx-sm-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; - } - .mx-sm-auto { - margin-left: auto !important; - margin-right: auto !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-sm-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-left: 0 !important; - } - .me-sm-1 { - margin-left: 0.25rem !important; - } - .me-sm-2 { - margin-left: 0.5rem !important; - } - .me-sm-3 { - margin-left: 1rem !important; - } - .me-sm-4 { - margin-left: 1.5rem !important; - } - .me-sm-5 { - margin-left: 3rem !important; - } - .me-sm-auto { - margin-left: 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-right: 0 !important; - } - .ms-sm-1 { - margin-right: 0.25rem !important; - } - .ms-sm-2 { - margin-right: 0.5rem !important; - } - .ms-sm-3 { - margin-right: 1rem !important; - } - .ms-sm-4 { - margin-right: 1.5rem !important; - } - .ms-sm-5 { - margin-right: 3rem !important; - } - .ms-sm-auto { - margin-right: 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-left: 0 !important; - padding-right: 0 !important; - } - .px-sm-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-sm-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-sm-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-sm-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; - } - .px-sm-5 { - padding-left: 3rem !important; - padding-right: 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-left: 0 !important; - } - .pe-sm-1 { - padding-left: 0.25rem !important; - } - .pe-sm-2 { - padding-left: 0.5rem !important; - } - .pe-sm-3 { - padding-left: 1rem !important; - } - .pe-sm-4 { - padding-left: 1.5rem !important; - } - .pe-sm-5 { - padding-left: 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-right: 0 !important; - } - .ps-sm-1 { - padding-right: 0.25rem !important; - } - .ps-sm-2 { - padding-right: 0.5rem !important; - } - .ps-sm-3 { - padding-right: 1rem !important; - } - .ps-sm-4 { - padding-right: 1.5rem !important; - } - .ps-sm-5 { - padding-right: 3rem !important; - } -} -@media (min-width: 768px) { - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-grid { - display: grid !important; - } - .d-md-inline-grid { - display: inline-grid !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline-flex { - display: inline-flex !important; - } - .d-md-none { - display: none !important; - } - .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-left: 0 !important; - margin-right: 0 !important; - } - .mx-md-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-md-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-md-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-md-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; - } - .mx-md-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; - } - .mx-md-auto { - margin-left: auto !important; - margin-right: auto !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-md-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-left: 0 !important; - } - .me-md-1 { - margin-left: 0.25rem !important; - } - .me-md-2 { - margin-left: 0.5rem !important; - } - .me-md-3 { - margin-left: 1rem !important; - } - .me-md-4 { - margin-left: 1.5rem !important; - } - .me-md-5 { - margin-left: 3rem !important; - } - .me-md-auto { - margin-left: 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-right: 0 !important; - } - .ms-md-1 { - margin-right: 0.25rem !important; - } - .ms-md-2 { - margin-right: 0.5rem !important; - } - .ms-md-3 { - margin-right: 1rem !important; - } - .ms-md-4 { - margin-right: 1.5rem !important; - } - .ms-md-5 { - margin-right: 3rem !important; - } - .ms-md-auto { - margin-right: 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-left: 0 !important; - padding-right: 0 !important; - } - .px-md-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-md-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-md-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-md-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; - } - .px-md-5 { - padding-left: 3rem !important; - padding-right: 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-left: 0 !important; - } - .pe-md-1 { - padding-left: 0.25rem !important; - } - .pe-md-2 { - padding-left: 0.5rem !important; - } - .pe-md-3 { - padding-left: 1rem !important; - } - .pe-md-4 { - padding-left: 1.5rem !important; - } - .pe-md-5 { - padding-left: 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-right: 0 !important; - } - .ps-md-1 { - padding-right: 0.25rem !important; - } - .ps-md-2 { - padding-right: 0.5rem !important; - } - .ps-md-3 { - padding-right: 1rem !important; - } - .ps-md-4 { - padding-right: 1.5rem !important; - } - .ps-md-5 { - padding-right: 3rem !important; - } -} -@media (min-width: 992px) { - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-grid { - display: grid !important; - } - .d-lg-inline-grid { - display: inline-grid !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline-flex { - display: inline-flex !important; - } - .d-lg-none { - display: none !important; - } - .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-left: 0 !important; - margin-right: 0 !important; - } - .mx-lg-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-lg-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-lg-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-lg-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; - } - .mx-lg-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; - } - .mx-lg-auto { - margin-left: auto !important; - margin-right: auto !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-lg-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-left: 0 !important; - } - .me-lg-1 { - margin-left: 0.25rem !important; - } - .me-lg-2 { - margin-left: 0.5rem !important; - } - .me-lg-3 { - margin-left: 1rem !important; - } - .me-lg-4 { - margin-left: 1.5rem !important; - } - .me-lg-5 { - margin-left: 3rem !important; - } - .me-lg-auto { - margin-left: 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-right: 0 !important; - } - .ms-lg-1 { - margin-right: 0.25rem !important; - } - .ms-lg-2 { - margin-right: 0.5rem !important; - } - .ms-lg-3 { - margin-right: 1rem !important; - } - .ms-lg-4 { - margin-right: 1.5rem !important; - } - .ms-lg-5 { - margin-right: 3rem !important; - } - .ms-lg-auto { - margin-right: 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-left: 0 !important; - padding-right: 0 !important; - } - .px-lg-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-lg-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-lg-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-lg-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; - } - .px-lg-5 { - padding-left: 3rem !important; - padding-right: 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-left: 0 !important; - } - .pe-lg-1 { - padding-left: 0.25rem !important; - } - .pe-lg-2 { - padding-left: 0.5rem !important; - } - .pe-lg-3 { - padding-left: 1rem !important; - } - .pe-lg-4 { - padding-left: 1.5rem !important; - } - .pe-lg-5 { - padding-left: 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-right: 0 !important; - } - .ps-lg-1 { - padding-right: 0.25rem !important; - } - .ps-lg-2 { - padding-right: 0.5rem !important; - } - .ps-lg-3 { - padding-right: 1rem !important; - } - .ps-lg-4 { - padding-right: 1.5rem !important; - } - .ps-lg-5 { - padding-right: 3rem !important; - } -} -@media (min-width: 1200px) { - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-grid { - display: grid !important; - } - .d-xl-inline-grid { - display: inline-grid !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline-flex { - display: inline-flex !important; - } - .d-xl-none { - display: none !important; - } - .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-left: 0 !important; - margin-right: 0 !important; - } - .mx-xl-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-xl-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-xl-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-xl-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; - } - .mx-xl-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; - } - .mx-xl-auto { - margin-left: auto !important; - margin-right: auto !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-xl-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-left: 0 !important; - } - .me-xl-1 { - margin-left: 0.25rem !important; - } - .me-xl-2 { - margin-left: 0.5rem !important; - } - .me-xl-3 { - margin-left: 1rem !important; - } - .me-xl-4 { - margin-left: 1.5rem !important; - } - .me-xl-5 { - margin-left: 3rem !important; - } - .me-xl-auto { - margin-left: 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-right: 0 !important; - } - .ms-xl-1 { - margin-right: 0.25rem !important; - } - .ms-xl-2 { - margin-right: 0.5rem !important; - } - .ms-xl-3 { - margin-right: 1rem !important; - } - .ms-xl-4 { - margin-right: 1.5rem !important; - } - .ms-xl-5 { - margin-right: 3rem !important; - } - .ms-xl-auto { - margin-right: 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-left: 0 !important; - padding-right: 0 !important; - } - .px-xl-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-xl-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-xl-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-xl-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; - } - .px-xl-5 { - padding-left: 3rem !important; - padding-right: 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-left: 0 !important; - } - .pe-xl-1 { - padding-left: 0.25rem !important; - } - .pe-xl-2 { - padding-left: 0.5rem !important; - } - .pe-xl-3 { - padding-left: 1rem !important; - } - .pe-xl-4 { - padding-left: 1.5rem !important; - } - .pe-xl-5 { - padding-left: 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-right: 0 !important; - } - .ps-xl-1 { - padding-right: 0.25rem !important; - } - .ps-xl-2 { - padding-right: 0.5rem !important; - } - .ps-xl-3 { - padding-right: 1rem !important; - } - .ps-xl-4 { - padding-right: 1.5rem !important; - } - .ps-xl-5 { - padding-right: 3rem !important; - } -} -@media (min-width: 1400px) { - .d-xxl-inline { - display: inline !important; - } - .d-xxl-inline-block { - display: inline-block !important; - } - .d-xxl-block { - display: block !important; - } - .d-xxl-grid { - display: grid !important; - } - .d-xxl-inline-grid { - display: inline-grid !important; - } - .d-xxl-table { - display: table !important; - } - .d-xxl-table-row { - display: table-row !important; - } - .d-xxl-table-cell { - display: table-cell !important; - } - .d-xxl-flex { - display: flex !important; - } - .d-xxl-inline-flex { - display: inline-flex !important; - } - .d-xxl-none { - display: none !important; - } - .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-left: 0 !important; - margin-right: 0 !important; - } - .mx-xxl-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-xxl-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-xxl-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-xxl-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; - } - .mx-xxl-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; - } - .mx-xxl-auto { - margin-left: auto !important; - margin-right: 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-left: 0 !important; - } - .me-xxl-1 { - margin-left: 0.25rem !important; - } - .me-xxl-2 { - margin-left: 0.5rem !important; - } - .me-xxl-3 { - margin-left: 1rem !important; - } - .me-xxl-4 { - margin-left: 1.5rem !important; - } - .me-xxl-5 { - margin-left: 3rem !important; - } - .me-xxl-auto { - margin-left: 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-right: 0 !important; - } - .ms-xxl-1 { - margin-right: 0.25rem !important; - } - .ms-xxl-2 { - margin-right: 0.5rem !important; - } - .ms-xxl-3 { - margin-right: 1rem !important; - } - .ms-xxl-4 { - margin-right: 1.5rem !important; - } - .ms-xxl-5 { - margin-right: 3rem !important; - } - .ms-xxl-auto { - margin-right: 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-left: 0 !important; - padding-right: 0 !important; - } - .px-xxl-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-xxl-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-xxl-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-xxl-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; - } - .px-xxl-5 { - padding-left: 3rem !important; - padding-right: 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-left: 0 !important; - } - .pe-xxl-1 { - padding-left: 0.25rem !important; - } - .pe-xxl-2 { - padding-left: 0.5rem !important; - } - .pe-xxl-3 { - padding-left: 1rem !important; - } - .pe-xxl-4 { - padding-left: 1.5rem !important; - } - .pe-xxl-5 { - padding-left: 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-right: 0 !important; - } - .ps-xxl-1 { - padding-right: 0.25rem !important; - } - .ps-xxl-2 { - padding-right: 0.5rem !important; - } - .ps-xxl-3 { - padding-right: 1rem !important; - } - .ps-xxl-4 { - padding-right: 1.5rem !important; - } - .ps-xxl-5 { - padding-right: 3rem !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-inline-grid { - display: inline-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; - } -} -/*# sourceMappingURL=bootstrap-grid.rtl.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map deleted file mode 100644 index 8df43cfc..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,0BAAA;ALsjDZ;;AK7jDQ;EAOI,gCAAA;AL0jDZ;;AKjkDQ;EAOI,+BAAA;AL8jDZ;;AKrkDQ;EAOI,6BAAA;ALkkDZ;;AKzkDQ;EAOI,+BAAA;ALskDZ;;AK7kDQ;EAOI,6BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,2BAAA;ALsmDZ;;AK7mDQ;EAOI,iCAAA;AL0mDZ;;AKjnDQ;EAOI,gCAAA;AL8mDZ;;AKrnDQ;EAOI,8BAAA;ALknDZ;;AKznDQ;EAOI,gCAAA;ALsnDZ;;AK7nDQ;EAOI,8BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,yBAAA;IAAA,0BAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;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AAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,2BAAA;ELw9FV;EK/9FM;IAOI,iCAAA;EL29FV;EKl+FM;IAOI,gCAAA;EL89FV;EKr+FM;IAOI,8BAAA;ELi+FV;EKx+FM;IAOI,gCAAA;ELo+FV;EK3+FM;IAOI,8BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/l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ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,0BAAA;ELm4GV;EK14GM;IAOI,gCAAA;ELs4GV;EK74GM;IAOI,+BAAA;ELy4GV;EKh5GM;IAOI,6BAAA;EL44GV;EKn5GM;IAOI,+BAAA;EL+4GV;EKt5GM;IAOI,6BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,2BAAA;ELu6GV;EK96GM;IAOI,iCAAA;EL06GV;EKj7GM;IAOI,gCAAA;EL66GV;EKp7GM;IAOI,8BAAA;ELg7GV;EKv7GM;IAOI,gCAAA;ELm7GV;EK17GM;IAOI,8BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.rtl.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\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","// 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","/*!\n * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\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","// 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// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\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$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\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 `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !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// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\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$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-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\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 focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\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-medium: 500 !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: inherit !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// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\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: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\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-color: $body-color !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}emphasis-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !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(var(--#{$prefix}emphasis-color-rgb), $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(var(--#{$prefix}emphasis-color-rgb), $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(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor: .2 !default;\n$table-border-width: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !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: var(--#{$prefix}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-color: var(--#{$prefix}body-color) !default;\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$btn-link-focus-shadow-rgb: to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\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: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !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: $focus-ring-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,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !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,\") !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,\") !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,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}tertiary-bg) !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: $input-disabled-bg !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,\") !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: var(--#{$prefix}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: var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !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-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !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,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\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// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\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: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !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(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !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-icon-color: $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !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: var(--#{$prefix}tertiary-color) !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: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !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: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}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-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}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(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !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: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}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: var(--#{$prefix}body-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: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !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,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !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: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}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: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !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: var(--#{$prefix}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(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !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: var(--#{$prefix}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: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}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: var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up: var(--#{$prefix}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: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !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// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\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: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}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: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !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: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !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: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}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: var(--#{$prefix}secondary-color) !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: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !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,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// 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,\") !default;\n$btn-close-focus-shadow: $focus-ring-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: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-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\n@import \"variables-dark\"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\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","// 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: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // 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 an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// 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","// 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"]} \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css deleted file mode 100644 index 672cbc2e..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap Grid v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-left:calc(-.5 * var(--bs-gutter-x));margin-right:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.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.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x: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.33333333%}.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.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: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}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.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:.25rem!important}.m-2{margin:.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-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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-left:0!important}.me-1{margin-left:.25rem!important}.me-2{margin-left:.5rem!important}.me-3{margin-left:1rem!important}.me-4{margin-left:1.5rem!important}.me-5{margin-left:3rem!important}.me-auto{margin-left:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.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-right:0!important}.ms-1{margin-right:.25rem!important}.ms-2{margin-right:.5rem!important}.ms-3{margin-right:1rem!important}.ms-4{margin-right:1.5rem!important}.ms-5{margin-right:3rem!important}.ms-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-left:0!important}.pe-1{padding-left:.25rem!important}.pe-2{padding-left:.5rem!important}.pe-3{padding-left:1rem!important}.pe-4{padding-left:1.5rem!important}.pe-5{padding-left:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-right:0!important}.ps-1{padding-right:.25rem!important}.ps-2{padding-right:.5rem!important}.ps-3{padding-right:1rem!important}.ps-4{padding-right:1.5rem!important}.ps-5{padding-right:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.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:.25rem!important}.m-sm-2{margin:.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-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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-left:0!important}.me-sm-1{margin-left:.25rem!important}.me-sm-2{margin-left:.5rem!important}.me-sm-3{margin-left:1rem!important}.me-sm-4{margin-left:1.5rem!important}.me-sm-5{margin-left:3rem!important}.me-sm-auto{margin-left:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.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-right:0!important}.ms-sm-1{margin-right:.25rem!important}.ms-sm-2{margin-right:.5rem!important}.ms-sm-3{margin-right:1rem!important}.ms-sm-4{margin-right:1.5rem!important}.ms-sm-5{margin-right:3rem!important}.ms-sm-auto{margin-right:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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-left:0!important}.pe-sm-1{padding-left:.25rem!important}.pe-sm-2{padding-left:.5rem!important}.pe-sm-3{padding-left:1rem!important}.pe-sm-4{padding-left:1.5rem!important}.pe-sm-5{padding-left:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.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-right:0!important}.ps-sm-1{padding-right:.25rem!important}.ps-sm-2{padding-right:.5rem!important}.ps-sm-3{padding-right:1rem!important}.ps-sm-4{padding-right:1.5rem!important}.ps-sm-5{padding-right:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.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:.25rem!important}.m-md-2{margin:.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-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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-left:0!important}.me-md-1{margin-left:.25rem!important}.me-md-2{margin-left:.5rem!important}.me-md-3{margin-left:1rem!important}.me-md-4{margin-left:1.5rem!important}.me-md-5{margin-left:3rem!important}.me-md-auto{margin-left:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.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-right:0!important}.ms-md-1{margin-right:.25rem!important}.ms-md-2{margin-right:.5rem!important}.ms-md-3{margin-right:1rem!important}.ms-md-4{margin-right:1.5rem!important}.ms-md-5{margin-right:3rem!important}.ms-md-auto{margin-right:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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-left:0!important}.pe-md-1{padding-left:.25rem!important}.pe-md-2{padding-left:.5rem!important}.pe-md-3{padding-left:1rem!important}.pe-md-4{padding-left:1.5rem!important}.pe-md-5{padding-left:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.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-right:0!important}.ps-md-1{padding-right:.25rem!important}.ps-md-2{padding-right:.5rem!important}.ps-md-3{padding-right:1rem!important}.ps-md-4{padding-right:1.5rem!important}.ps-md-5{padding-right:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.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:.25rem!important}.m-lg-2{margin:.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-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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-left:0!important}.me-lg-1{margin-left:.25rem!important}.me-lg-2{margin-left:.5rem!important}.me-lg-3{margin-left:1rem!important}.me-lg-4{margin-left:1.5rem!important}.me-lg-5{margin-left:3rem!important}.me-lg-auto{margin-left:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.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-right:0!important}.ms-lg-1{margin-right:.25rem!important}.ms-lg-2{margin-right:.5rem!important}.ms-lg-3{margin-right:1rem!important}.ms-lg-4{margin-right:1.5rem!important}.ms-lg-5{margin-right:3rem!important}.ms-lg-auto{margin-right:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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-left:0!important}.pe-lg-1{padding-left:.25rem!important}.pe-lg-2{padding-left:.5rem!important}.pe-lg-3{padding-left:1rem!important}.pe-lg-4{padding-left:1.5rem!important}.pe-lg-5{padding-left:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.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-right:0!important}.ps-lg-1{padding-right:.25rem!important}.ps-lg-2{padding-right:.5rem!important}.ps-lg-3{padding-right:1rem!important}.ps-lg-4{padding-right:1.5rem!important}.ps-lg-5{padding-right:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.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:.25rem!important}.m-xl-2{margin:.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-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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-left:0!important}.me-xl-1{margin-left:.25rem!important}.me-xl-2{margin-left:.5rem!important}.me-xl-3{margin-left:1rem!important}.me-xl-4{margin-left:1.5rem!important}.me-xl-5{margin-left:3rem!important}.me-xl-auto{margin-left:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.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-right:0!important}.ms-xl-1{margin-right:.25rem!important}.ms-xl-2{margin-right:.5rem!important}.ms-xl-3{margin-right:1rem!important}.ms-xl-4{margin-right:1.5rem!important}.ms-xl-5{margin-right:3rem!important}.ms-xl-auto{margin-right:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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-left:0!important}.pe-xl-1{padding-left:.25rem!important}.pe-xl-2{padding-left:.5rem!important}.pe-xl-3{padding-left:1rem!important}.pe-xl-4{padding-left:1.5rem!important}.pe-xl-5{padding-left:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.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-right:0!important}.ps-xl-1{padding-right:.25rem!important}.ps-xl-2{padding-right:.5rem!important}.ps-xl-3{padding-right:1rem!important}.ps-xl-4{padding-right:1.5rem!important}.ps-xl-5{padding-right:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.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:.25rem!important}.m-xxl-2{margin:.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-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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-left:0!important}.me-xxl-1{margin-left:.25rem!important}.me-xxl-2{margin-left:.5rem!important}.me-xxl-3{margin-left:1rem!important}.me-xxl-4{margin-left:1.5rem!important}.me-xxl-5{margin-left:3rem!important}.me-xxl-auto{margin-left:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.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-right:0!important}.ms-xxl-1{margin-right:.25rem!important}.ms-xxl-2{margin-right:.5rem!important}.ms-xxl-3{margin-right:1rem!important}.ms-xxl-4{margin-right:1.5rem!important}.ms-xxl-5{margin-right:3rem!important}.ms-xxl-auto{margin-right:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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-left:0!important}.pe-xxl-1{padding-left:.25rem!important}.pe-xxl-2{padding-left:.5rem!important}.pe-xxl-3{padding-left:1rem!important}.pe-xxl-4{padding-left:1.5rem!important}.pe-xxl-5{padding-left:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.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-right:0!important}.ps-xxl-1{padding-right:.25rem!important}.ps-xxl-2{padding-right:.5rem!important}.ps-xxl-3{padding-right:1rem!important}.ps-xxl-4{padding-right:1.5rem!important}.ps-xxl-5{padding-right:3rem!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-inline-grid{display:inline-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}} -/*# sourceMappingURL=bootstrap-grid.rtl.min.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map deleted file mode 100644 index 1c926af5..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.rtl.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\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","/*!\n * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-left: auto;\n margin-right: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-right: 8.33333333%;\n}\n\n.offset-2 {\n margin-right: 16.66666667%;\n}\n\n.offset-3 {\n margin-right: 25%;\n}\n\n.offset-4 {\n margin-right: 33.33333333%;\n}\n\n.offset-5 {\n margin-right: 41.66666667%;\n}\n\n.offset-6 {\n margin-right: 50%;\n}\n\n.offset-7 {\n margin-right: 58.33333333%;\n}\n\n.offset-8 {\n margin-right: 66.66666667%;\n}\n\n.offset-9 {\n margin-right: 75%;\n}\n\n.offset-10 {\n margin-right: 83.33333333%;\n}\n\n.offset-11 {\n margin-right: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-right: 0;\n }\n .offset-sm-1 {\n margin-right: 8.33333333%;\n }\n .offset-sm-2 {\n margin-right: 16.66666667%;\n }\n .offset-sm-3 {\n margin-right: 25%;\n }\n .offset-sm-4 {\n margin-right: 33.33333333%;\n }\n .offset-sm-5 {\n margin-right: 41.66666667%;\n }\n .offset-sm-6 {\n margin-right: 50%;\n }\n .offset-sm-7 {\n margin-right: 58.33333333%;\n }\n .offset-sm-8 {\n margin-right: 66.66666667%;\n }\n .offset-sm-9 {\n margin-right: 75%;\n }\n .offset-sm-10 {\n margin-right: 83.33333333%;\n }\n .offset-sm-11 {\n margin-right: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-right: 0;\n }\n .offset-md-1 {\n margin-right: 8.33333333%;\n }\n .offset-md-2 {\n margin-right: 16.66666667%;\n }\n .offset-md-3 {\n margin-right: 25%;\n }\n .offset-md-4 {\n margin-right: 33.33333333%;\n }\n .offset-md-5 {\n margin-right: 41.66666667%;\n }\n .offset-md-6 {\n margin-right: 50%;\n }\n .offset-md-7 {\n margin-right: 58.33333333%;\n }\n .offset-md-8 {\n margin-right: 66.66666667%;\n }\n .offset-md-9 {\n margin-right: 75%;\n }\n .offset-md-10 {\n margin-right: 83.33333333%;\n }\n .offset-md-11 {\n margin-right: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-right: 0;\n }\n .offset-lg-1 {\n margin-right: 8.33333333%;\n }\n .offset-lg-2 {\n margin-right: 16.66666667%;\n }\n .offset-lg-3 {\n margin-right: 25%;\n }\n .offset-lg-4 {\n margin-right: 33.33333333%;\n }\n .offset-lg-5 {\n margin-right: 41.66666667%;\n }\n .offset-lg-6 {\n margin-right: 50%;\n }\n .offset-lg-7 {\n margin-right: 58.33333333%;\n }\n .offset-lg-8 {\n margin-right: 66.66666667%;\n }\n .offset-lg-9 {\n margin-right: 75%;\n }\n .offset-lg-10 {\n margin-right: 83.33333333%;\n }\n .offset-lg-11 {\n margin-right: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-right: 0;\n }\n .offset-xl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xl-3 {\n margin-right: 25%;\n }\n .offset-xl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xl-6 {\n margin-right: 50%;\n }\n .offset-xl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xl-9 {\n margin-right: 75%;\n }\n .offset-xl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xl-11 {\n margin-right: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-right: 0;\n }\n .offset-xxl-1 {\n margin-right: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-right: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-right: 25%;\n }\n .offset-xxl-4 {\n margin-right: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-right: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-right: 50%;\n }\n .offset-xxl-7 {\n margin-right: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-right: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-right: 75%;\n }\n .offset-xxl-10 {\n margin-right: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-right: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-left: 0 !important;\n}\n\n.me-1 {\n margin-left: 0.25rem !important;\n}\n\n.me-2 {\n margin-left: 0.5rem !important;\n}\n\n.me-3 {\n margin-left: 1rem !important;\n}\n\n.me-4 {\n margin-left: 1.5rem !important;\n}\n\n.me-5 {\n margin-left: 3rem !important;\n}\n\n.me-auto {\n margin-left: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-right: 0 !important;\n}\n\n.ms-1 {\n margin-right: 0.25rem !important;\n}\n\n.ms-2 {\n margin-right: 0.5rem !important;\n}\n\n.ms-3 {\n margin-right: 1rem !important;\n}\n\n.ms-4 {\n margin-right: 1.5rem !important;\n}\n\n.ms-5 {\n margin-right: 3rem !important;\n}\n\n.ms-auto {\n margin-right: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-left: 0 !important;\n}\n\n.pe-1 {\n padding-left: 0.25rem !important;\n}\n\n.pe-2 {\n padding-left: 0.5rem !important;\n}\n\n.pe-3 {\n padding-left: 1rem !important;\n}\n\n.pe-4 {\n padding-left: 1.5rem !important;\n}\n\n.pe-5 {\n padding-left: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-right: 0 !important;\n}\n\n.ps-1 {\n padding-right: 0.25rem !important;\n}\n\n.ps-2 {\n padding-right: 0.5rem !important;\n}\n\n.ps-3 {\n padding-right: 1rem !important;\n}\n\n.ps-4 {\n padding-right: 1.5rem !important;\n}\n\n.ps-5 {\n padding-right: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-sm-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-left: 0 !important;\n }\n .me-sm-1 {\n margin-left: 0.25rem !important;\n }\n .me-sm-2 {\n margin-left: 0.5rem !important;\n }\n .me-sm-3 {\n margin-left: 1rem !important;\n }\n .me-sm-4 {\n margin-left: 1.5rem !important;\n }\n .me-sm-5 {\n margin-left: 3rem !important;\n }\n .me-sm-auto {\n margin-left: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-right: 0 !important;\n }\n .ms-sm-1 {\n margin-right: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-right: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-right: 1rem !important;\n }\n .ms-sm-4 {\n margin-right: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-right: 3rem !important;\n }\n .ms-sm-auto {\n margin-right: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-left: 0 !important;\n }\n .pe-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-left: 1rem !important;\n }\n .pe-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-left: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-right: 0 !important;\n }\n .ps-sm-1 {\n padding-right: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-right: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-right: 1rem !important;\n }\n .ps-sm-4 {\n padding-right: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-md-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-left: 0 !important;\n }\n .me-md-1 {\n margin-left: 0.25rem !important;\n }\n .me-md-2 {\n margin-left: 0.5rem !important;\n }\n .me-md-3 {\n margin-left: 1rem !important;\n }\n .me-md-4 {\n margin-left: 1.5rem !important;\n }\n .me-md-5 {\n margin-left: 3rem !important;\n }\n .me-md-auto {\n margin-left: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-right: 0 !important;\n }\n .ms-md-1 {\n margin-right: 0.25rem !important;\n }\n .ms-md-2 {\n margin-right: 0.5rem !important;\n }\n .ms-md-3 {\n margin-right: 1rem !important;\n }\n .ms-md-4 {\n margin-right: 1.5rem !important;\n }\n .ms-md-5 {\n margin-right: 3rem !important;\n }\n .ms-md-auto {\n margin-right: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-left: 0 !important;\n }\n .pe-md-1 {\n padding-left: 0.25rem !important;\n }\n .pe-md-2 {\n padding-left: 0.5rem !important;\n }\n .pe-md-3 {\n padding-left: 1rem !important;\n }\n .pe-md-4 {\n padding-left: 1.5rem !important;\n }\n .pe-md-5 {\n padding-left: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-right: 0 !important;\n }\n .ps-md-1 {\n padding-right: 0.25rem !important;\n }\n .ps-md-2 {\n padding-right: 0.5rem !important;\n }\n .ps-md-3 {\n padding-right: 1rem !important;\n }\n .ps-md-4 {\n padding-right: 1.5rem !important;\n }\n .ps-md-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-lg-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-left: 0 !important;\n }\n .me-lg-1 {\n margin-left: 0.25rem !important;\n }\n .me-lg-2 {\n margin-left: 0.5rem !important;\n }\n .me-lg-3 {\n margin-left: 1rem !important;\n }\n .me-lg-4 {\n margin-left: 1.5rem !important;\n }\n .me-lg-5 {\n margin-left: 3rem !important;\n }\n .me-lg-auto {\n margin-left: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-right: 0 !important;\n }\n .ms-lg-1 {\n margin-right: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-right: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-right: 1rem !important;\n }\n .ms-lg-4 {\n margin-right: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-right: 3rem !important;\n }\n .ms-lg-auto {\n margin-right: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-left: 0 !important;\n }\n .pe-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-left: 1rem !important;\n }\n .pe-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-left: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-right: 0 !important;\n }\n .ps-lg-1 {\n padding-right: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-right: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-right: 1rem !important;\n }\n .ps-lg-4 {\n padding-right: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-left: 0 !important;\n }\n .me-xl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xl-3 {\n margin-left: 1rem !important;\n }\n .me-xl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xl-5 {\n margin-left: 3rem !important;\n }\n .me-xl-auto {\n margin-left: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-right: 0 !important;\n }\n .ms-xl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-right: 1rem !important;\n }\n .ms-xl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-right: 3rem !important;\n }\n .ms-xl-auto {\n margin-right: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-left: 0 !important;\n }\n .pe-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-left: 1rem !important;\n }\n .pe-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-left: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-right: 0 !important;\n }\n .ps-xl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-right: 1rem !important;\n }\n .ps-xl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .mx-xxl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xxl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .mx-xxl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-left: 0 !important;\n }\n .me-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-left: 1rem !important;\n }\n .me-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-left: 3rem !important;\n }\n .me-xxl-auto {\n margin-left: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-right: 0 !important;\n }\n .ms-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-right: 1rem !important;\n }\n .ms-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-right: 3rem !important;\n }\n .ms-xxl-auto {\n margin-right: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .px-xxl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xxl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-left: 0 !important;\n }\n .pe-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-left: 1rem !important;\n }\n .pe-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-left: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-right: 0 !important;\n }\n .ps-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-right: 1rem !important;\n }\n .ps-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-right: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.rtl.css.map */","// 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","// 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","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\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","// 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: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // 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 an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// 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","// 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"]} \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css deleted file mode 100644 index 63054109..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css +++ /dev/null @@ -1,597 +0,0 @@ -/*! - * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -:root, -[data-bs-theme=light] { - --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-primary-text-emphasis: #052c65; - --bs-secondary-text-emphasis: #2b2f32; - --bs-success-text-emphasis: #0a3622; - --bs-info-text-emphasis: #055160; - --bs-warning-text-emphasis: #664d03; - --bs-danger-text-emphasis: #58151c; - --bs-light-text-emphasis: #495057; - --bs-dark-text-emphasis: #495057; - --bs-primary-bg-subtle: #cfe2ff; - --bs-secondary-bg-subtle: #e2e3e5; - --bs-success-bg-subtle: #d1e7dd; - --bs-info-bg-subtle: #cff4fc; - --bs-warning-bg-subtle: #fff3cd; - --bs-danger-bg-subtle: #f8d7da; - --bs-light-bg-subtle: #fcfcfd; - --bs-dark-bg-subtle: #ced4da; - --bs-primary-border-subtle: #9ec5fe; - --bs-secondary-border-subtle: #c4c8cb; - --bs-success-border-subtle: #a3cfbb; - --bs-info-border-subtle: #9eeaf9; - --bs-warning-border-subtle: #ffe69c; - --bs-danger-border-subtle: #f1aeb5; - --bs-light-border-subtle: #e9ecef; - --bs-dark-border-subtle: #adb5bd; - --bs-white-rgb: 255, 255, 255; - --bs-black-rgb: 0, 0, 0; - --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-color-rgb: 33, 37, 41; - --bs-body-bg: #fff; - --bs-body-bg-rgb: 255, 255, 255; - --bs-emphasis-color: #000; - --bs-emphasis-color-rgb: 0, 0, 0; - --bs-secondary-color: rgba(33, 37, 41, 0.75); - --bs-secondary-color-rgb: 33, 37, 41; - --bs-secondary-bg: #e9ecef; - --bs-secondary-bg-rgb: 233, 236, 239; - --bs-tertiary-color: rgba(33, 37, 41, 0.5); - --bs-tertiary-color-rgb: 33, 37, 41; - --bs-tertiary-bg: #f8f9fa; - --bs-tertiary-bg-rgb: 248, 249, 250; - --bs-heading-color: inherit; - --bs-link-color: #0d6efd; - --bs-link-color-rgb: 13, 110, 253; - --bs-link-decoration: underline; - --bs-link-hover-color: #0a58ca; - --bs-link-hover-color-rgb: 10, 88, 202; - --bs-code-color: #d63384; - --bs-highlight-color: #212529; - --bs-highlight-bg: #fff3cd; - --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-xxl: 2rem; - --bs-border-radius-2xl: var(--bs-border-radius-xxl); - --bs-border-radius-pill: 50rem; - --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); - --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); - --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); - --bs-focus-ring-width: 0.25rem; - --bs-focus-ring-opacity: 0.25; - --bs-focus-ring-color: rgba(13, 110, 253, 0.25); - --bs-form-valid-color: #198754; - --bs-form-valid-border-color: #198754; - --bs-form-invalid-color: #dc3545; - --bs-form-invalid-border-color: #dc3545; -} - -[data-bs-theme=dark] { - color-scheme: dark; - --bs-body-color: #dee2e6; - --bs-body-color-rgb: 222, 226, 230; - --bs-body-bg: #212529; - --bs-body-bg-rgb: 33, 37, 41; - --bs-emphasis-color: #fff; - --bs-emphasis-color-rgb: 255, 255, 255; - --bs-secondary-color: rgba(222, 226, 230, 0.75); - --bs-secondary-color-rgb: 222, 226, 230; - --bs-secondary-bg: #343a40; - --bs-secondary-bg-rgb: 52, 58, 64; - --bs-tertiary-color: rgba(222, 226, 230, 0.5); - --bs-tertiary-color-rgb: 222, 226, 230; - --bs-tertiary-bg: #2b3035; - --bs-tertiary-bg-rgb: 43, 48, 53; - --bs-primary-text-emphasis: #6ea8fe; - --bs-secondary-text-emphasis: #a7acb1; - --bs-success-text-emphasis: #75b798; - --bs-info-text-emphasis: #6edff6; - --bs-warning-text-emphasis: #ffda6a; - --bs-danger-text-emphasis: #ea868f; - --bs-light-text-emphasis: #f8f9fa; - --bs-dark-text-emphasis: #dee2e6; - --bs-primary-bg-subtle: #031633; - --bs-secondary-bg-subtle: #161719; - --bs-success-bg-subtle: #051b11; - --bs-info-bg-subtle: #032830; - --bs-warning-bg-subtle: #332701; - --bs-danger-bg-subtle: #2c0b0e; - --bs-light-bg-subtle: #343a40; - --bs-dark-bg-subtle: #1a1d20; - --bs-primary-border-subtle: #084298; - --bs-secondary-border-subtle: #41464b; - --bs-success-border-subtle: #0f5132; - --bs-info-border-subtle: #087990; - --bs-warning-border-subtle: #997404; - --bs-danger-border-subtle: #842029; - --bs-light-border-subtle: #495057; - --bs-dark-border-subtle: #343a40; - --bs-heading-color: inherit; - --bs-link-color: #6ea8fe; - --bs-link-hover-color: #8bb9fe; - --bs-link-color-rgb: 110, 168, 254; - --bs-link-hover-color-rgb: 139, 185, 254; - --bs-code-color: #e685b5; - --bs-highlight-color: #dee2e6; - --bs-highlight-bg: #664d03; - --bs-border-color: #495057; - --bs-border-color-translucent: rgba(255, 255, 255, 0.15); - --bs-form-valid-color: #75b798; - --bs-form-valid-border-color: #75b798; - --bs-form-invalid-color: #ea868f; - --bs-form-invalid-border-color: #ea868f; -} - -*, -*::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: var(--bs-border-width) solid; - opacity: 0.25; -} - -h6, h5, h4, h3, h2, h1 { - margin-top: 0; - margin-bottom: 0.5rem; - font-weight: 500; - line-height: 1.2; - color: var(--bs-heading-color); -} - -h1 { - font-size: calc(1.375rem + 1.5vw); -} -@media (min-width: 1200px) { - h1 { - font-size: 2.5rem; - } -} - -h2 { - font-size: calc(1.325rem + 0.9vw); -} -@media (min-width: 1200px) { - h2 { - font-size: 2rem; - } -} - -h3 { - font-size: calc(1.3rem + 0.6vw); -} -@media (min-width: 1200px) { - h3 { - font-size: 1.75rem; - } -} - -h4 { - font-size: calc(1.275rem + 0.3vw); -} -@media (min-width: 1200px) { - h4 { - font-size: 1.5rem; - } -} - -h5 { - font-size: 1.25rem; -} - -h6 { - font-size: 1rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title] { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - -webkit-text-decoration-skip-ink: none; - text-decoration-skip-ink: none; -} - -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: 0.5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 0.875em; -} - -mark { - padding: 0.1875em; - color: var(--bs-highlight-color); - background-color: var(--bs-highlight-bg); -} - -sub, -sup { - position: relative; - font-size: 0.75em; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -a { - color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); - text-decoration: underline; -} -a:hover { - --bs-link-color-rgb: var(--bs-link-hover-color-rgb); -} - -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: var(--bs-secondary-color); - text-align: left; -} - -th { - text-align: inherit; - text-align: -webkit-match-parent; -} - -thead, -tbody, -tfoot, -tr, -td, -th { - border-color: inherit; - border-style: solid; - border-width: 0; -} - -label { - display: inline-block; -} - -button { - border-radius: 0; -} - -button:focus:not(:focus-visible) { - outline: 0; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -select { - text-transform: none; -} - -[role=button] { - cursor: pointer; -} - -select { - word-wrap: normal; -} -select:disabled { - opacity: 1; -} - -[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { - display: none !important; -} - -button, -[type=button], -[type=reset], -[type=submit] { - -webkit-appearance: button; -} -button:not(:disabled), -[type=button]:not(:disabled), -[type=reset]:not(:disabled), -[type=submit]:not(:disabled) { - cursor: pointer; -} - -::-moz-focus-inner { - padding: 0; - border-style: none; -} - -textarea { - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - float: left; - width: 100%; - padding: 0; - margin-bottom: 0.5rem; - font-size: calc(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] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -/* rtl:raw: -[type="tel"], -[type="url"], -[type="email"], -[type="number"] { - direction: ltr; -} -*/ -::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-color-swatch-wrapper { - padding: 0; -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} - -::file-selector-button { - font: inherit; - -webkit-appearance: button; -} - -output { - display: inline-block; -} - -iframe { - border: 0; -} - -summary { - display: list-item; - cursor: pointer; -} - -progress { - vertical-align: baseline; -} - -[hidden] { - display: none !important; -} - -/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map deleted file mode 100644 index 5fe522b6..00000000 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_color-mode.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n",":root,\n[data-bs-theme=\"light\"] {\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 @each $color, $value in $theme-colors-text {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\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: #{inspect($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 @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n\n --#{$prefix}body-color: #{$body-color};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg: #{$body-bg};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n // scss-docs-end root-body-variables\n\n --#{$prefix}heading-color: #{$headings-color};\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n --#{$prefix}link-decoration: #{$link-decoration};\n\n --#{$prefix}link-hover-color: #{$link-hover-color};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n @if $link-hover-decoration != null {\n --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n }\n\n --#{$prefix}code-color: #{$code-color};\n --#{$prefix}highlight-color: #{$mark-color};\n --#{$prefix}highlight-bg: #{$mark-bg};\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-xxl: #{$border-radius-xxl};\n --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}box-shadow: #{$box-shadow};\n --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n // Focus styles\n // scss-docs-start root-focus-variables\n --#{$prefix}focus-ring-width: #{$focus-ring-width};\n --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n --#{$prefix}focus-ring-color: #{$focus-ring-color};\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-validation-variables\n --#{$prefix}form-valid-color: #{$form-valid-color};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n --#{$prefix}form-invalid-color: #{$form-invalid-color};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark, true) {\n color-scheme: dark;\n\n // scss-docs-start root-dark-mode-vars\n --#{$prefix}body-color: #{$body-color-dark};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n @each $color, $value in $theme-colors-text-dark {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle-dark {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle-dark {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}heading-color: #{$headings-color-dark};\n\n --#{$prefix}link-color: #{$link-color-dark};\n --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n --#{$prefix}code-color: #{$code-color-dark};\n --#{$prefix}highlight-color: #{$mark-color-dark};\n --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n --#{$prefix}border-color: #{$border-color-dark};\n --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n // scss-docs-end root-dark-mode-vars\n }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\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 } @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 } @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 } @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 } @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 $fluid-val: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluid-val {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule () {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\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, $fluid-val, $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","/*!\n * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root,\n[data-bs-theme=light] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-primary-text-emphasis: #052c65;\n --bs-secondary-text-emphasis: #2b2f32;\n --bs-success-text-emphasis: #0a3622;\n --bs-info-text-emphasis: #055160;\n --bs-warning-text-emphasis: #664d03;\n --bs-danger-text-emphasis: #58151c;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #cfe2ff;\n --bs-secondary-bg-subtle: #e2e3e5;\n --bs-success-bg-subtle: #d1e7dd;\n --bs-info-bg-subtle: #cff4fc;\n --bs-warning-bg-subtle: #fff3cd;\n --bs-danger-bg-subtle: #f8d7da;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #9ec5fe;\n --bs-secondary-border-subtle: #c4c8cb;\n --bs-success-border-subtle: #a3cfbb;\n --bs-info-border-subtle: #9eeaf9;\n --bs-warning-border-subtle: #ffe69c;\n --bs-danger-border-subtle: #f1aeb5;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-heading-color: inherit;\n --bs-link-color: #0d6efd;\n --bs-link-color-rgb: 13, 110, 253;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #0a58ca;\n --bs-link-hover-color-rgb: 10, 88, 202;\n --bs-code-color: #d63384;\n --bs-highlight-color: #212529;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0.375rem;\n --bs-border-radius-sm: 0.25rem;\n --bs-border-radius-lg: 0.5rem;\n --bs-border-radius-xl: 1rem;\n --bs-border-radius-xxl: 2rem;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50rem;\n --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25rem;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(13, 110, 253, 0.25);\n --bs-form-valid-color: #198754;\n --bs-form-valid-border-color: #198754;\n --bs-form-invalid-color: #dc3545;\n --bs-form-invalid-border-color: #dc3545;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n --bs-body-color: #dee2e6;\n --bs-body-color-rgb: 222, 226, 230;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(222, 226, 230, 0.75);\n --bs-secondary-color-rgb: 222, 226, 230;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(222, 226, 230, 0.5);\n --bs-tertiary-color-rgb: 222, 226, 230;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #6ea8fe;\n --bs-secondary-text-emphasis: #a7acb1;\n --bs-success-text-emphasis: #75b798;\n --bs-info-text-emphasis: #6edff6;\n --bs-warning-text-emphasis: #ffda6a;\n --bs-danger-text-emphasis: #ea868f;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #031633;\n --bs-secondary-bg-subtle: #161719;\n --bs-success-bg-subtle: #051b11;\n --bs-info-bg-subtle: #032830;\n --bs-warning-bg-subtle: #332701;\n --bs-danger-bg-subtle: #2c0b0e;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #084298;\n --bs-secondary-border-subtle: #41464b;\n --bs-success-border-subtle: #0f5132;\n --bs-info-border-subtle: #087990;\n --bs-warning-border-subtle: #997404;\n --bs-danger-border-subtle: #842029;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-heading-color: inherit;\n --bs-link-color: #6ea8fe;\n --bs-link-hover-color: #8bb9fe;\n --bs-link-color-rgb: 110, 168, 254;\n --bs-link-hover-color-rgb: 139, 185, 254;\n --bs-code-color: #e685b5;\n --bs-highlight-color: #dee2e6;\n --bs-highlight-bg: #664d03;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n border: 0;\n border-top: var(--bs-border-width) solid;\n opacity: 0.25;\n}\n\nh6, h5, h4, h3, h2, h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--bs-heading-color);\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.1875em;\n color: var(--bs-highlight-color);\n background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n text-decoration: underline;\n}\na:hover {\n --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--bs-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875rem 0.375rem;\n font-size: 0.875em;\n color: var(--bs-body-bg);\n background-color: var(--bs-body-color);\n border-radius: 0.25rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--bs-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]: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\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n @if $color-mode-type == \"media-query\" {\n @if $root == true {\n @media (prefers-color-scheme: $mode) {\n :root {\n @content;\n }\n }\n } @else {\n @media (prefers-color-scheme: $mode) {\n @content;\n }\n }\n } @else {\n [data-bs-theme=\"#{$mode}\"] {\n @content;\n }\n }\n}\n// scss-docs-end color-mode-mixin\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, `

      `-`
      ` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-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 `

      `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 color: var(--#{$prefix}highlight-color);\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: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\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 `` 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-` + + + + + + + +

      + +
      +
      + + Administration + + + + + + +
      + + @if (_showAdminPreview) + { + + Admin operations are shown for preview. + Sign in as an Admin to execute them. + + } - - Manage Resource - - + @if (AuthState?.IsInRole("Admin") == true || _showAdminPreview) + { +
      + + + +
      + } +
      + +
      +
      + + Resource API +
      + +
      + +
      +
      + + - + diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/SampleHome.razor.css b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/SampleHome.razor.css new file mode 100644 index 00000000..301860f3 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/SampleHome.razor.css @@ -0,0 +1,136 @@ +.uauth-operations { + display: flex; + flex-direction: column; + gap: 22px; + padding: 8px 0; +} + +.uauth-operation-section { + display: flex; + flex-direction: column; + gap: 11px; + min-width: 0; +} + + .uauth-operation-section + .uauth-operation-section { + padding-top: 18px; + border-top: 1px solid var(--mud-palette-lines-default); + } + +.uauth-operation-heading { + display: flex; + align-items: center; + gap: 8px; + color: var(--mud-palette-text-secondary); +} + + .uauth-operation-heading > span { + font-size: .76rem; + font-weight: 750; + letter-spacing: .02em; + } + +.uauth-operation-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 9px; +} + +.uauth-operation { + display: flex; + align-items: center; + gap: 10px; + min-width: 0; + min-height: 65px; + padding: 12px; + border: 1px solid var(--mud-palette-lines-default); + border-radius: 11px; + background: var(--mud-palette-surface); + color: var(--mud-palette-text-primary); + text-align: left; + font: inherit; + cursor: pointer; + transition: border-color .16s ease, background-color .16s ease, transform .16s ease; +} + + .uauth-operation:hover { + border-color: var(--mud-palette-primary); + background: var(--mud-palette-primary-hover); + transform: translateY(-1px); + } + + .uauth-operation:focus-visible { + outline: 2px solid var(--mud-palette-primary); + outline-offset: 2px; + } + + .uauth-operation:active { + transform: translateY(0); + } + + .uauth-operation > .mud-icon-root { + flex-shrink: 0; + } + +.uauth-operation-text { + display: flex; + flex-direction: column; + gap: 4px; + min-width: 0; +} + + .uauth-operation-text strong { + font-size: .79rem; + font-weight: 700; + line-height: 1.3; + overflow-wrap: anywhere; + } + + .uauth-operation-text small { + font-size: .67rem; + line-height: 1.4; + color: var(--mud-palette-text-secondary); + overflow-wrap: anywhere; + } + +.uauth-operation-danger:hover { + border-color: var(--mud-palette-error); + background: var(--mud-palette-error-hover); +} + +.uauth-profile-card { + height: 90vh; + max-height: 90vh; + overflow-y: auto; +} + +@media (max-width: 959.98px) { + .uauth-profile-card { + height: auto; + max-height: none; + overflow: visible; + } +} + +@media (max-width: 600px) { + .uauth-operations { + gap: 18px; + } + + .uauth-operation { + min-height: 62px; + padding: 10px; + } +} + +@media (max-width: 360px) { + .uauth-operation-grid { + grid-template-columns: 1fr; + } +} + +@media (prefers-reduced-motion: reduce) { + .uauth-operation { + transition: none; + } +} From 6227681eeed7e8e0b9ee8716ea297c3cf4fb2e9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20Can=20Karag=C3=B6z?= Date: Thu, 22 Oct 2026 00:46:31 +0300 Subject: [PATCH 6/6] Last Fixes --- ROADMAP.md | 107 +++++++++++++++++- .../Components/Custom/PublicHeader.razor | 2 +- .../Program.cs | 2 +- 3 files changed, 105 insertions(+), 6 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 323f459f..e9fa88a9 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,10 +1,109 @@ # UltimateAuth Roadmap -> The project roadmap is actively maintained as a GitHub issue: -👉 https://github.com/CodeBeamOrg/UltimateAuth/issues/8 +> **The detailed and actively maintained roadmap is available on GitHub:** +> +> 👉 **[UltimateAuth Roadmap — Issue #8](https://github.com/CodeBeamOrg/UltimateAuth/issues/8)** +> +> This document provides a high-level overview of our development direction, major milestones, and long-term goals. For detailed tasks, progress tracking, and planned deliverables, see the GitHub issue above. --- -UltimateAuth is developed openly and shaped by community feedback. +## Our Direction -Thank you for helping us build the next-generation authentication framework for .NET. +UltimateAuth aims to become a modern, unified, and extensible authentication and authorization framework for .NET. + +Our development approach prioritizes **security, architectural consistency, developer experience, and real-world usability**. + +We are building UltimateAuth incrementally, starting with a reliable authentication foundation and expanding toward production-ready infrastructure, advanced security capabilities, and a broader .NET ecosystem. + +## Development Milestones + +### Phase 0 — Foundation + +**Status: Completed** + +Establish the core authentication architecture, including sessions, authentication chains, tokens, flows, persistence abstractions, and server infrastructure. + +The foundation provides the architectural basis for future capabilities without requiring fundamental redesigns as the framework evolves. + +### Phase 1 — First Public Release (v0.1.0) + +**Focus: A working, tested and documented end-to-end auth framework** + +**Status: Completed** + +Deliver the first usable version of UltimateAuth, including core authentication workflows, session management, user and authorization fundamentals, client integrations, and persistence support. + +Provide comprehensive documentation, runnable samples, and practical examples to help developers understand and evaluate the framework. + +### Phase 2 — Broader Adoption (v0.2.0) + +**Focus: Complete product fundamentals** + +Improve the stability and usability of public APIs while expanding authentication modes, credential policies, security controls, and integration testing. + +Strengthen developer experience across supported .NET application models and make UltimateAuth easier to adopt in real applications. + +### Phase 3 — Production Expansion (v0.3.0–v0.8.0) + +**Focus: Security, scalability, and ecosystem growth** + +Progressively introduce advanced authentication security, multi-factor authentication, improved infrastructure integrations, distributed persistence, and enhanced multi-tenancy. + +Expand observability, audit capabilities, performance optimization, platform support, and migration tooling. + +Each release will focus on a defined area while preserving architectural consistency across the framework. + +### Phase 4 — Stable Contracts (v1.0.0) + +**Focus: Long-term API stability and production confidence** + +Establish a stable public API contract backed by comprehensive security reviews, integration and regression testing, hardened authentication flows, and mature documentation. + +The goal of v1.0.0 is to provide a dependable foundation for applications that require predictable behavior and long-term maintainability. + +### Phase 5 — Long-Term Evolution + +**Focus: Advanced capabilities and community-driven growth** + +Continue evolving UltimateAuth through advanced authorization policies, external identity integrations, extensible authentication providers, enterprise observability, and long-term support planning. + +Our long-term vision is to make UltimateAuth a first-class authentication framework within the .NET ecosystem. + +--- + +## Documentation, Samples & Identity Lab + +Developer experience remains a priority throughout the roadmap. + +UltimateAuth provides multiple ways to learn and evaluate the framework: + +- **Documentation:** Architecture, concepts, integration guides, and API references. +- **Runnable Samples:** Complete applications that developers can clone, run, inspect, and modify in their own development environments. +- **Identity Lab:** An interactive sandbox designed to demonstrate real UltimateAuth authentication and authorization capabilities directly in the browser. + +These resources will continue to evolve alongside the framework. + +## An Open and Evolving Roadmap + +**This roadmap is a direction, not a fixed commitment.** + +Priorities, implementation details, release scope, and timelines may change based on security findings, technical requirements, real-world adoption, and community feedback. + +Features may be introduced earlier, postponed, redesigned, or reconsidered when doing so improves the overall quality and sustainability of UltimateAuth. + +We value architectural consistency and reliability over rushing features to meet arbitrary deadlines. + +## Community & Contributions + +UltimateAuth is developed openly, and community participation plays an important role in shaping its future. + +We welcome bug reports, feature requests, architectural discussions, documentation improvements, and code contributions. + +If you have an idea or a use case that could improve UltimateAuth, join the conversation through GitHub Issues and Discussions. + +**[View the Detailed Roadmap](https://github.com/CodeBeamOrg/UltimateAuth/issues/8)** · **[Explore the Repository](https://github.com/CodeBeamOrg/UltimateAuth)** + +--- + +*Building a modern authentication framework for .NET, together.* \ No newline at end of file diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor index 80b39123..173438e0 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Components/Custom/PublicHeader.razor @@ -7,7 +7,7 @@
      - + diff --git a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs index f937c998..6ca3bbd2 100644 --- a/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs +++ b/apps/identity-lab/CodeBeam.UltimateAuth.IdentityLab/Program.cs @@ -40,7 +40,7 @@ }) .AddUltimateAuthEntityFrameworkCore(db => { - db.UseNpgsql("Host=localhost;Port=5433;Database=identitylab_dev;Username=identitylab;Password=LocalDevPassword123", + db.UseNpgsql(connectionString, options => options.MigrationsAssembly(typeof(Program).Assembly.GetName().Name)); });