/* ==========================================================================
   Material Design 3 — Base, layout grid and utilities
   Self-contained replacement for the Bootstrap 5 grid/utility layer.
   The class vocabulary is preserved intentionally: it is the styling
   contract the existing markup relies on. The rendering is pure M3.
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }

body {
  margin: 0;
  font: var(--md-body-large);
  letter-spacing: .0312em;
  background-color: var(--md-background);
  color: var(--md-on-background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Safety net: a single unbreakable token (URL, path, wallet address, long
     username) must never force the whole page into horizontal scroll. Real
     horizontal scrollers opt back in with .overflow-auto / .table-responsive. */
  overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 { margin: 0 0 .5rem; color: var(--md-on-surface); font-family: var(--md-font); }
h1 { font: var(--md-headline-large); }
h2 { font: var(--md-headline-medium); }
h3 { font: var(--md-headline-small); }
h4 { font: var(--md-title-large); }
h5 { font: var(--md-title-medium); }
h6 { font: var(--md-title-small); }
p { margin: 0 0 1rem; }

/* No underline on hover anywhere: anchors here wrap buttons, cards and tiles,
   so underlining on hover struck through whole blocks of content. Material
   signals hover with a state layer, not a text decoration. */
a { color: var(--md-primary); text-decoration: none; }
a:hover, a:focus { text-decoration: none; }

img, svg { vertical-align: middle; max-width: 100%; }
hr { border: 0; border-top: 1px solid var(--md-outline-variant); margin: 1rem 0; opacity: 1; }
small, .small { font: var(--md-body-small); letter-spacing: .0333em; }
b, strong { font-weight: 700; }
code { font-family: "Roboto Mono", ui-monospace, monospace; font-size: .875em; color: var(--md-tertiary); }
:focus-visible { outline: 3px solid var(--md-primary); outline-offset: 2px; }

/* ---- Container ---- */
.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
  width: 100%; padding-right: 1rem; padding-left: 1rem; margin-right: auto; margin-left: auto;
}
@media (min-width: 576px)  { .container, .container-sm { max-width: 540px; } }
@media (min-width: 768px)  { .container, .container-sm, .container-md { max-width: 720px; } }
@media (min-width: 992px)  { .container, .container-sm, .container-md, .container-lg { max-width: 960px; } }
@media (min-width: 1200px) { .container, .container-sm, .container-md, .container-lg, .container-xl { max-width: 1140px; } }
@media (min-width: 1400px) { .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { max-width: 1320px; } }

/* ---- Grid ---- */
.row { --gutter-x: 1.5rem; --gutter-y: 0; display: flex; flex-wrap: wrap;
  margin-top: calc(-1 * var(--gutter-y)); margin-right: calc(-.5 * var(--gutter-x)); margin-left: calc(-.5 * var(--gutter-x)); }
.row > * { flex-shrink: 0; width: 100%; max-width: 100%;
  padding-right: calc(var(--gutter-x) * .5); padding-left: calc(var(--gutter-x) * .5); margin-top: var(--gutter-y); }
.col { flex: 1 0 0%; }
.col-auto { flex: 0 0 auto; width: auto; }

.col-1 { flex: 0 0 auto; width: 8.333333%; }
.col-2 { flex: 0 0 auto; width: 16.666667%; }
.col-3 { flex: 0 0 auto; width: 25.000000%; }
.col-4 { flex: 0 0 auto; width: 33.333333%; }
.col-5 { flex: 0 0 auto; width: 41.666667%; }
.col-6 { flex: 0 0 auto; width: 50.000000%; }
.col-7 { flex: 0 0 auto; width: 58.333333%; }
.col-8 { flex: 0 0 auto; width: 66.666667%; }
.col-9 { flex: 0 0 auto; width: 75.000000%; }
.col-10 { flex: 0 0 auto; width: 83.333333%; }
.col-11 { flex: 0 0 auto; width: 91.666667%; }
.col-12 { flex: 0 0 auto; width: 100.000000%; }
.offset-0 { margin-left: 0.000000%; }
.offset-1 { margin-left: 8.333333%; }
.offset-2 { margin-left: 16.666667%; }
.offset-3 { margin-left: 25.000000%; }
.offset-4 { margin-left: 33.333333%; }
.offset-5 { margin-left: 41.666667%; }
.offset-6 { margin-left: 50.000000%; }
.offset-7 { margin-left: 58.333333%; }
.offset-8 { margin-left: 66.666667%; }
.offset-9 { margin-left: 75.000000%; }
.offset-10 { margin-left: 83.333333%; }
.offset-11 { margin-left: 91.666667%; }
@media (min-width: 576px) {
.col-sm-auto { flex: 0 0 auto; width: auto; }
.col-sm-1 { flex: 0 0 auto; width: 8.333333%; }
.col-sm-2 { flex: 0 0 auto; width: 16.666667%; }
.col-sm-3 { flex: 0 0 auto; width: 25.000000%; }
.col-sm-4 { flex: 0 0 auto; width: 33.333333%; }
.col-sm-5 { flex: 0 0 auto; width: 41.666667%; }
.col-sm-6 { flex: 0 0 auto; width: 50.000000%; }
.col-sm-7 { flex: 0 0 auto; width: 58.333333%; }
.col-sm-8 { flex: 0 0 auto; width: 66.666667%; }
.col-sm-9 { flex: 0 0 auto; width: 75.000000%; }
.col-sm-10 { flex: 0 0 auto; width: 83.333333%; }
.col-sm-11 { flex: 0 0 auto; width: 91.666667%; }
.col-sm-12 { flex: 0 0 auto; width: 100.000000%; }
.offset-sm-0 { margin-left: 0.000000%; }
.offset-sm-1 { margin-left: 8.333333%; }
.offset-sm-2 { margin-left: 16.666667%; }
.offset-sm-3 { margin-left: 25.000000%; }
.offset-sm-4 { margin-left: 33.333333%; }
.offset-sm-5 { margin-left: 41.666667%; }
.offset-sm-6 { margin-left: 50.000000%; }
.offset-sm-7 { margin-left: 58.333333%; }
.offset-sm-8 { margin-left: 66.666667%; }
.offset-sm-9 { margin-left: 75.000000%; }
.offset-sm-10 { margin-left: 83.333333%; }
.offset-sm-11 { margin-left: 91.666667%; }
.col-sm { flex: 1 0 0%; }
}
@media (min-width: 768px) {
.col-md-auto { flex: 0 0 auto; width: auto; }
.col-md-1 { flex: 0 0 auto; width: 8.333333%; }
.col-md-2 { flex: 0 0 auto; width: 16.666667%; }
.col-md-3 { flex: 0 0 auto; width: 25.000000%; }
.col-md-4 { flex: 0 0 auto; width: 33.333333%; }
.col-md-5 { flex: 0 0 auto; width: 41.666667%; }
.col-md-6 { flex: 0 0 auto; width: 50.000000%; }
.col-md-7 { flex: 0 0 auto; width: 58.333333%; }
.col-md-8 { flex: 0 0 auto; width: 66.666667%; }
.col-md-9 { flex: 0 0 auto; width: 75.000000%; }
.col-md-10 { flex: 0 0 auto; width: 83.333333%; }
.col-md-11 { flex: 0 0 auto; width: 91.666667%; }
.col-md-12 { flex: 0 0 auto; width: 100.000000%; }
.offset-md-0 { margin-left: 0.000000%; }
.offset-md-1 { margin-left: 8.333333%; }
.offset-md-2 { margin-left: 16.666667%; }
.offset-md-3 { margin-left: 25.000000%; }
.offset-md-4 { margin-left: 33.333333%; }
.offset-md-5 { margin-left: 41.666667%; }
.offset-md-6 { margin-left: 50.000000%; }
.offset-md-7 { margin-left: 58.333333%; }
.offset-md-8 { margin-left: 66.666667%; }
.offset-md-9 { margin-left: 75.000000%; }
.offset-md-10 { margin-left: 83.333333%; }
.offset-md-11 { margin-left: 91.666667%; }
.col-md { flex: 1 0 0%; }
}
@media (min-width: 992px) {
.col-lg-auto { flex: 0 0 auto; width: auto; }
.col-lg-1 { flex: 0 0 auto; width: 8.333333%; }
.col-lg-2 { flex: 0 0 auto; width: 16.666667%; }
.col-lg-3 { flex: 0 0 auto; width: 25.000000%; }
.col-lg-4 { flex: 0 0 auto; width: 33.333333%; }
.col-lg-5 { flex: 0 0 auto; width: 41.666667%; }
.col-lg-6 { flex: 0 0 auto; width: 50.000000%; }
.col-lg-7 { flex: 0 0 auto; width: 58.333333%; }
.col-lg-8 { flex: 0 0 auto; width: 66.666667%; }
.col-lg-9 { flex: 0 0 auto; width: 75.000000%; }
.col-lg-10 { flex: 0 0 auto; width: 83.333333%; }
.col-lg-11 { flex: 0 0 auto; width: 91.666667%; }
.col-lg-12 { flex: 0 0 auto; width: 100.000000%; }
.offset-lg-0 { margin-left: 0.000000%; }
.offset-lg-1 { margin-left: 8.333333%; }
.offset-lg-2 { margin-left: 16.666667%; }
.offset-lg-3 { margin-left: 25.000000%; }
.offset-lg-4 { margin-left: 33.333333%; }
.offset-lg-5 { margin-left: 41.666667%; }
.offset-lg-6 { margin-left: 50.000000%; }
.offset-lg-7 { margin-left: 58.333333%; }
.offset-lg-8 { margin-left: 66.666667%; }
.offset-lg-9 { margin-left: 75.000000%; }
.offset-lg-10 { margin-left: 83.333333%; }
.offset-lg-11 { margin-left: 91.666667%; }
.col-lg { flex: 1 0 0%; }
}
@media (min-width: 1200px) {
.col-xl-auto { flex: 0 0 auto; width: auto; }
.col-xl-1 { flex: 0 0 auto; width: 8.333333%; }
.col-xl-2 { flex: 0 0 auto; width: 16.666667%; }
.col-xl-3 { flex: 0 0 auto; width: 25.000000%; }
.col-xl-4 { flex: 0 0 auto; width: 33.333333%; }
.col-xl-5 { flex: 0 0 auto; width: 41.666667%; }
.col-xl-6 { flex: 0 0 auto; width: 50.000000%; }
.col-xl-7 { flex: 0 0 auto; width: 58.333333%; }
.col-xl-8 { flex: 0 0 auto; width: 66.666667%; }
.col-xl-9 { flex: 0 0 auto; width: 75.000000%; }
.col-xl-10 { flex: 0 0 auto; width: 83.333333%; }
.col-xl-11 { flex: 0 0 auto; width: 91.666667%; }
.col-xl-12 { flex: 0 0 auto; width: 100.000000%; }
.offset-xl-0 { margin-left: 0.000000%; }
.offset-xl-1 { margin-left: 8.333333%; }
.offset-xl-2 { margin-left: 16.666667%; }
.offset-xl-3 { margin-left: 25.000000%; }
.offset-xl-4 { margin-left: 33.333333%; }
.offset-xl-5 { margin-left: 41.666667%; }
.offset-xl-6 { margin-left: 50.000000%; }
.offset-xl-7 { margin-left: 58.333333%; }
.offset-xl-8 { margin-left: 66.666667%; }
.offset-xl-9 { margin-left: 75.000000%; }
.offset-xl-10 { margin-left: 83.333333%; }
.offset-xl-11 { margin-left: 91.666667%; }
.col-xl { flex: 1 0 0%; }
}
@media (min-width: 1400px) {
.col-xxl-auto { flex: 0 0 auto; width: auto; }
.col-xxl-1 { flex: 0 0 auto; width: 8.333333%; }
.col-xxl-2 { flex: 0 0 auto; width: 16.666667%; }
.col-xxl-3 { flex: 0 0 auto; width: 25.000000%; }
.col-xxl-4 { flex: 0 0 auto; width: 33.333333%; }
.col-xxl-5 { flex: 0 0 auto; width: 41.666667%; }
.col-xxl-6 { flex: 0 0 auto; width: 50.000000%; }
.col-xxl-7 { flex: 0 0 auto; width: 58.333333%; }
.col-xxl-8 { flex: 0 0 auto; width: 66.666667%; }
.col-xxl-9 { flex: 0 0 auto; width: 75.000000%; }
.col-xxl-10 { flex: 0 0 auto; width: 83.333333%; }
.col-xxl-11 { flex: 0 0 auto; width: 91.666667%; }
.col-xxl-12 { flex: 0 0 auto; width: 100.000000%; }
.offset-xxl-0 { margin-left: 0.000000%; }
.offset-xxl-1 { margin-left: 8.333333%; }
.offset-xxl-2 { margin-left: 16.666667%; }
.offset-xxl-3 { margin-left: 25.000000%; }
.offset-xxl-4 { margin-left: 33.333333%; }
.offset-xxl-5 { margin-left: 41.666667%; }
.offset-xxl-6 { margin-left: 50.000000%; }
.offset-xxl-7 { margin-left: 58.333333%; }
.offset-xxl-8 { margin-left: 66.666667%; }
.offset-xxl-9 { margin-left: 75.000000%; }
.offset-xxl-10 { margin-left: 83.333333%; }
.offset-xxl-11 { margin-left: 91.666667%; }
.col-xxl { flex: 1 0 0%; }
}
.g-0, .gx-0 { --gutter-x: 0; }
.g-0, .gy-0 { --gutter-y: 0; }
.g-1, .gx-1 { --gutter-x: .25rem; }
.g-1, .gy-1 { --gutter-y: .25rem; }
.g-2, .gx-2 { --gutter-x: .5rem; }
.g-2, .gy-2 { --gutter-y: .5rem; }
.g-3, .gx-3 { --gutter-x: 1rem; }
.g-3, .gy-3 { --gutter-y: 1rem; }
.g-4, .gx-4 { --gutter-x: 1.5rem; }
.g-4, .gy-4 { --gutter-y: 1.5rem; }
.g-5, .gx-5 { --gutter-x: 3rem; }
.g-5, .gy-5 { --gutter-y: 3rem; }
@media (min-width: 576px) {
.g-sm-0, .gx-sm-0 { --gutter-x: 0; }
.g-sm-0, .gy-sm-0 { --gutter-y: 0; }
.g-sm-1, .gx-sm-1 { --gutter-x: .25rem; }
.g-sm-1, .gy-sm-1 { --gutter-y: .25rem; }
.g-sm-2, .gx-sm-2 { --gutter-x: .5rem; }
.g-sm-2, .gy-sm-2 { --gutter-y: .5rem; }
.g-sm-3, .gx-sm-3 { --gutter-x: 1rem; }
.g-sm-3, .gy-sm-3 { --gutter-y: 1rem; }
.g-sm-4, .gx-sm-4 { --gutter-x: 1.5rem; }
.g-sm-4, .gy-sm-4 { --gutter-y: 1.5rem; }
.g-sm-5, .gx-sm-5 { --gutter-x: 3rem; }
.g-sm-5, .gy-sm-5 { --gutter-y: 3rem; }
}
@media (min-width: 768px) {
.g-md-0, .gx-md-0 { --gutter-x: 0; }
.g-md-0, .gy-md-0 { --gutter-y: 0; }
.g-md-1, .gx-md-1 { --gutter-x: .25rem; }
.g-md-1, .gy-md-1 { --gutter-y: .25rem; }
.g-md-2, .gx-md-2 { --gutter-x: .5rem; }
.g-md-2, .gy-md-2 { --gutter-y: .5rem; }
.g-md-3, .gx-md-3 { --gutter-x: 1rem; }
.g-md-3, .gy-md-3 { --gutter-y: 1rem; }
.g-md-4, .gx-md-4 { --gutter-x: 1.5rem; }
.g-md-4, .gy-md-4 { --gutter-y: 1.5rem; }
.g-md-5, .gx-md-5 { --gutter-x: 3rem; }
.g-md-5, .gy-md-5 { --gutter-y: 3rem; }
}
@media (min-width: 992px) {
.g-lg-0, .gx-lg-0 { --gutter-x: 0; }
.g-lg-0, .gy-lg-0 { --gutter-y: 0; }
.g-lg-1, .gx-lg-1 { --gutter-x: .25rem; }
.g-lg-1, .gy-lg-1 { --gutter-y: .25rem; }
.g-lg-2, .gx-lg-2 { --gutter-x: .5rem; }
.g-lg-2, .gy-lg-2 { --gutter-y: .5rem; }
.g-lg-3, .gx-lg-3 { --gutter-x: 1rem; }
.g-lg-3, .gy-lg-3 { --gutter-y: 1rem; }
.g-lg-4, .gx-lg-4 { --gutter-x: 1.5rem; }
.g-lg-4, .gy-lg-4 { --gutter-y: 1.5rem; }
.g-lg-5, .gx-lg-5 { --gutter-x: 3rem; }
.g-lg-5, .gy-lg-5 { --gutter-y: 3rem; }
}
@media (min-width: 1200px) {
.g-xl-0, .gx-xl-0 { --gutter-x: 0; }
.g-xl-0, .gy-xl-0 { --gutter-y: 0; }
.g-xl-1, .gx-xl-1 { --gutter-x: .25rem; }
.g-xl-1, .gy-xl-1 { --gutter-y: .25rem; }
.g-xl-2, .gx-xl-2 { --gutter-x: .5rem; }
.g-xl-2, .gy-xl-2 { --gutter-y: .5rem; }
.g-xl-3, .gx-xl-3 { --gutter-x: 1rem; }
.g-xl-3, .gy-xl-3 { --gutter-y: 1rem; }
.g-xl-4, .gx-xl-4 { --gutter-x: 1.5rem; }
.g-xl-4, .gy-xl-4 { --gutter-y: 1.5rem; }
.g-xl-5, .gx-xl-5 { --gutter-x: 3rem; }
.g-xl-5, .gy-xl-5 { --gutter-y: 3rem; }
}
@media (min-width: 1400px) {
.g-xxl-0, .gx-xxl-0 { --gutter-x: 0; }
.g-xxl-0, .gy-xxl-0 { --gutter-y: 0; }
.g-xxl-1, .gx-xxl-1 { --gutter-x: .25rem; }
.g-xxl-1, .gy-xxl-1 { --gutter-y: .25rem; }
.g-xxl-2, .gx-xxl-2 { --gutter-x: .5rem; }
.g-xxl-2, .gy-xxl-2 { --gutter-y: .5rem; }
.g-xxl-3, .gx-xxl-3 { --gutter-x: 1rem; }
.g-xxl-3, .gy-xxl-3 { --gutter-y: 1rem; }
.g-xxl-4, .gx-xxl-4 { --gutter-x: 1.5rem; }
.g-xxl-4, .gy-xxl-4 { --gutter-y: 1.5rem; }
.g-xxl-5, .gx-xxl-5 { --gutter-x: 3rem; }
.g-xxl-5, .gy-xxl-5 { --gutter-y: 3rem; }
}
.m-0 { margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; }
.m-1 { margin-top: .25rem; margin-right: .25rem; margin-bottom: .25rem; margin-left: .25rem; }
.m-2 { margin-top: .5rem; margin-right: .5rem; margin-bottom: .5rem; margin-left: .5rem; }
.m-3 { margin-top: 1rem; margin-right: 1rem; margin-bottom: 1rem; margin-left: 1rem; }
.m-4 { margin-top: 1.5rem; margin-right: 1.5rem; margin-bottom: 1.5rem; margin-left: 1.5rem; }
.m-5 { margin-top: 3rem; margin-right: 3rem; margin-bottom: 3rem; margin-left: 3rem; }
.m-auto { margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: auto; }
.mt-0 { margin-top: 0; }
.mt-1 { margin-top: .25rem; }
.mt-2 { margin-top: .5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }
.mt-auto { margin-top: auto; }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: .25rem; }
.mb-2 { margin-bottom: .5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
.mb-auto { margin-bottom: auto; }
.ms-0 { margin-left: 0; }
.ms-1 { margin-left: .25rem; }
.ms-2 { margin-left: .5rem; }
.ms-3 { margin-left: 1rem; }
.ms-4 { margin-left: 1.5rem; }
.ms-5 { margin-left: 3rem; }
.ms-auto { margin-left: auto; }
.me-0 { margin-right: 0; }
.me-1 { margin-right: .25rem; }
.me-2 { margin-right: .5rem; }
.me-3 { margin-right: 1rem; }
.me-4 { margin-right: 1.5rem; }
.me-5 { margin-right: 3rem; }
.me-auto { margin-right: auto; }
.mx-0 { margin-left: 0; margin-right: 0; }
.mx-1 { margin-left: .25rem; margin-right: .25rem; }
.mx-2 { margin-left: .5rem; margin-right: .5rem; }
.mx-3 { margin-left: 1rem; margin-right: 1rem; }
.mx-4 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mx-5 { margin-left: 3rem; margin-right: 3rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.my-0 { margin-top: 0; margin-bottom: 0; }
.my-1 { margin-top: .25rem; margin-bottom: .25rem; }
.my-2 { margin-top: .5rem; margin-bottom: .5rem; }
.my-3 { margin-top: 1rem; margin-bottom: 1rem; }
.my-4 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.my-5 { margin-top: 3rem; margin-bottom: 3rem; }
.my-auto { margin-top: auto; margin-bottom: auto; }
.p-0 { padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; }
.p-1 { padding-top: .25rem; padding-right: .25rem; padding-bottom: .25rem; padding-left: .25rem; }
.p-2 { padding-top: .5rem; padding-right: .5rem; padding-bottom: .5rem; padding-left: .5rem; }
.p-3 { padding-top: 1rem; padding-right: 1rem; padding-bottom: 1rem; padding-left: 1rem; }
.p-4 { padding-top: 1.5rem; padding-right: 1.5rem; padding-bottom: 1.5rem; padding-left: 1.5rem; }
.p-5 { padding-top: 3rem; padding-right: 3rem; padding-bottom: 3rem; padding-left: 3rem; }
.pt-0 { padding-top: 0; }
.pt-1 { padding-top: .25rem; }
.pt-2 { padding-top: .5rem; }
.pt-3 { padding-top: 1rem; }
.pt-4 { padding-top: 1.5rem; }
.pt-5 { padding-top: 3rem; }
.pb-0 { padding-bottom: 0; }
.pb-1 { padding-bottom: .25rem; }
.pb-2 { padding-bottom: .5rem; }
.pb-3 { padding-bottom: 1rem; }
.pb-4 { padding-bottom: 1.5rem; }
.pb-5 { padding-bottom: 3rem; }
.ps-0 { padding-left: 0; }
.ps-1 { padding-left: .25rem; }
.ps-2 { padding-left: .5rem; }
.ps-3 { padding-left: 1rem; }
.ps-4 { padding-left: 1.5rem; }
.ps-5 { padding-left: 3rem; }
.pe-0 { padding-right: 0; }
.pe-1 { padding-right: .25rem; }
.pe-2 { padding-right: .5rem; }
.pe-3 { padding-right: 1rem; }
.pe-4 { padding-right: 1.5rem; }
.pe-5 { padding-right: 3rem; }
.px-0 { padding-left: 0; padding-right: 0; }
.px-1 { padding-left: .25rem; padding-right: .25rem; }
.px-2 { padding-left: .5rem; padding-right: .5rem; }
.px-3 { padding-left: 1rem; padding-right: 1rem; }
.px-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-5 { padding-left: 3rem; padding-right: 3rem; }
.py-0 { padding-top: 0; padding-bottom: 0; }
.py-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-3 { padding-top: 1rem; padding-bottom: 1rem; }
.py-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-5 { padding-top: 3rem; padding-bottom: 3rem; }
@media (min-width: 576px) {
.m-sm-0 { margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; }
.m-sm-1 { margin-top: .25rem; margin-right: .25rem; margin-bottom: .25rem; margin-left: .25rem; }
.m-sm-2 { margin-top: .5rem; margin-right: .5rem; margin-bottom: .5rem; margin-left: .5rem; }
.m-sm-3 { margin-top: 1rem; margin-right: 1rem; margin-bottom: 1rem; margin-left: 1rem; }
.m-sm-4 { margin-top: 1.5rem; margin-right: 1.5rem; margin-bottom: 1.5rem; margin-left: 1.5rem; }
.m-sm-5 { margin-top: 3rem; margin-right: 3rem; margin-bottom: 3rem; margin-left: 3rem; }
.m-sm-auto { margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: auto; }
.mt-sm-0 { margin-top: 0; }
.mt-sm-1 { margin-top: .25rem; }
.mt-sm-2 { margin-top: .5rem; }
.mt-sm-3 { margin-top: 1rem; }
.mt-sm-4 { margin-top: 1.5rem; }
.mt-sm-5 { margin-top: 3rem; }
.mt-sm-auto { margin-top: auto; }
.mb-sm-0 { margin-bottom: 0; }
.mb-sm-1 { margin-bottom: .25rem; }
.mb-sm-2 { margin-bottom: .5rem; }
.mb-sm-3 { margin-bottom: 1rem; }
.mb-sm-4 { margin-bottom: 1.5rem; }
.mb-sm-5 { margin-bottom: 3rem; }
.mb-sm-auto { margin-bottom: auto; }
.ms-sm-0 { margin-left: 0; }
.ms-sm-1 { margin-left: .25rem; }
.ms-sm-2 { margin-left: .5rem; }
.ms-sm-3 { margin-left: 1rem; }
.ms-sm-4 { margin-left: 1.5rem; }
.ms-sm-5 { margin-left: 3rem; }
.ms-sm-auto { margin-left: auto; }
.me-sm-0 { margin-right: 0; }
.me-sm-1 { margin-right: .25rem; }
.me-sm-2 { margin-right: .5rem; }
.me-sm-3 { margin-right: 1rem; }
.me-sm-4 { margin-right: 1.5rem; }
.me-sm-5 { margin-right: 3rem; }
.me-sm-auto { margin-right: auto; }
.mx-sm-0 { margin-left: 0; margin-right: 0; }
.mx-sm-1 { margin-left: .25rem; margin-right: .25rem; }
.mx-sm-2 { margin-left: .5rem; margin-right: .5rem; }
.mx-sm-3 { margin-left: 1rem; margin-right: 1rem; }
.mx-sm-4 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mx-sm-5 { margin-left: 3rem; margin-right: 3rem; }
.mx-sm-auto { margin-left: auto; margin-right: auto; }
.my-sm-0 { margin-top: 0; margin-bottom: 0; }
.my-sm-1 { margin-top: .25rem; margin-bottom: .25rem; }
.my-sm-2 { margin-top: .5rem; margin-bottom: .5rem; }
.my-sm-3 { margin-top: 1rem; margin-bottom: 1rem; }
.my-sm-4 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.my-sm-5 { margin-top: 3rem; margin-bottom: 3rem; }
.my-sm-auto { margin-top: auto; margin-bottom: auto; }
.p-sm-0 { padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; }
.p-sm-1 { padding-top: .25rem; padding-right: .25rem; padding-bottom: .25rem; padding-left: .25rem; }
.p-sm-2 { padding-top: .5rem; padding-right: .5rem; padding-bottom: .5rem; padding-left: .5rem; }
.p-sm-3 { padding-top: 1rem; padding-right: 1rem; padding-bottom: 1rem; padding-left: 1rem; }
.p-sm-4 { padding-top: 1.5rem; padding-right: 1.5rem; padding-bottom: 1.5rem; padding-left: 1.5rem; }
.p-sm-5 { padding-top: 3rem; padding-right: 3rem; padding-bottom: 3rem; padding-left: 3rem; }
.pt-sm-0 { padding-top: 0; }
.pt-sm-1 { padding-top: .25rem; }
.pt-sm-2 { padding-top: .5rem; }
.pt-sm-3 { padding-top: 1rem; }
.pt-sm-4 { padding-top: 1.5rem; }
.pt-sm-5 { padding-top: 3rem; }
.pb-sm-0 { padding-bottom: 0; }
.pb-sm-1 { padding-bottom: .25rem; }
.pb-sm-2 { padding-bottom: .5rem; }
.pb-sm-3 { padding-bottom: 1rem; }
.pb-sm-4 { padding-bottom: 1.5rem; }
.pb-sm-5 { padding-bottom: 3rem; }
.ps-sm-0 { padding-left: 0; }
.ps-sm-1 { padding-left: .25rem; }
.ps-sm-2 { padding-left: .5rem; }
.ps-sm-3 { padding-left: 1rem; }
.ps-sm-4 { padding-left: 1.5rem; }
.ps-sm-5 { padding-left: 3rem; }
.pe-sm-0 { padding-right: 0; }
.pe-sm-1 { padding-right: .25rem; }
.pe-sm-2 { padding-right: .5rem; }
.pe-sm-3 { padding-right: 1rem; }
.pe-sm-4 { padding-right: 1.5rem; }
.pe-sm-5 { padding-right: 3rem; }
.px-sm-0 { padding-left: 0; padding-right: 0; }
.px-sm-1 { padding-left: .25rem; padding-right: .25rem; }
.px-sm-2 { padding-left: .5rem; padding-right: .5rem; }
.px-sm-3 { padding-left: 1rem; padding-right: 1rem; }
.px-sm-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-sm-5 { padding-left: 3rem; padding-right: 3rem; }
.py-sm-0 { padding-top: 0; padding-bottom: 0; }
.py-sm-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-sm-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-sm-3 { padding-top: 1rem; padding-bottom: 1rem; }
.py-sm-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-sm-5 { padding-top: 3rem; padding-bottom: 3rem; }
}
@media (min-width: 768px) {
.m-md-0 { margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; }
.m-md-1 { margin-top: .25rem; margin-right: .25rem; margin-bottom: .25rem; margin-left: .25rem; }
.m-md-2 { margin-top: .5rem; margin-right: .5rem; margin-bottom: .5rem; margin-left: .5rem; }
.m-md-3 { margin-top: 1rem; margin-right: 1rem; margin-bottom: 1rem; margin-left: 1rem; }
.m-md-4 { margin-top: 1.5rem; margin-right: 1.5rem; margin-bottom: 1.5rem; margin-left: 1.5rem; }
.m-md-5 { margin-top: 3rem; margin-right: 3rem; margin-bottom: 3rem; margin-left: 3rem; }
.m-md-auto { margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: auto; }
.mt-md-0 { margin-top: 0; }
.mt-md-1 { margin-top: .25rem; }
.mt-md-2 { margin-top: .5rem; }
.mt-md-3 { margin-top: 1rem; }
.mt-md-4 { margin-top: 1.5rem; }
.mt-md-5 { margin-top: 3rem; }
.mt-md-auto { margin-top: auto; }
.mb-md-0 { margin-bottom: 0; }
.mb-md-1 { margin-bottom: .25rem; }
.mb-md-2 { margin-bottom: .5rem; }
.mb-md-3 { margin-bottom: 1rem; }
.mb-md-4 { margin-bottom: 1.5rem; }
.mb-md-5 { margin-bottom: 3rem; }
.mb-md-auto { margin-bottom: auto; }
.ms-md-0 { margin-left: 0; }
.ms-md-1 { margin-left: .25rem; }
.ms-md-2 { margin-left: .5rem; }
.ms-md-3 { margin-left: 1rem; }
.ms-md-4 { margin-left: 1.5rem; }
.ms-md-5 { margin-left: 3rem; }
.ms-md-auto { margin-left: auto; }
.me-md-0 { margin-right: 0; }
.me-md-1 { margin-right: .25rem; }
.me-md-2 { margin-right: .5rem; }
.me-md-3 { margin-right: 1rem; }
.me-md-4 { margin-right: 1.5rem; }
.me-md-5 { margin-right: 3rem; }
.me-md-auto { margin-right: auto; }
.mx-md-0 { margin-left: 0; margin-right: 0; }
.mx-md-1 { margin-left: .25rem; margin-right: .25rem; }
.mx-md-2 { margin-left: .5rem; margin-right: .5rem; }
.mx-md-3 { margin-left: 1rem; margin-right: 1rem; }
.mx-md-4 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mx-md-5 { margin-left: 3rem; margin-right: 3rem; }
.mx-md-auto { margin-left: auto; margin-right: auto; }
.my-md-0 { margin-top: 0; margin-bottom: 0; }
.my-md-1 { margin-top: .25rem; margin-bottom: .25rem; }
.my-md-2 { margin-top: .5rem; margin-bottom: .5rem; }
.my-md-3 { margin-top: 1rem; margin-bottom: 1rem; }
.my-md-4 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.my-md-5 { margin-top: 3rem; margin-bottom: 3rem; }
.my-md-auto { margin-top: auto; margin-bottom: auto; }
.p-md-0 { padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; }
.p-md-1 { padding-top: .25rem; padding-right: .25rem; padding-bottom: .25rem; padding-left: .25rem; }
.p-md-2 { padding-top: .5rem; padding-right: .5rem; padding-bottom: .5rem; padding-left: .5rem; }
.p-md-3 { padding-top: 1rem; padding-right: 1rem; padding-bottom: 1rem; padding-left: 1rem; }
.p-md-4 { padding-top: 1.5rem; padding-right: 1.5rem; padding-bottom: 1.5rem; padding-left: 1.5rem; }
.p-md-5 { padding-top: 3rem; padding-right: 3rem; padding-bottom: 3rem; padding-left: 3rem; }
.pt-md-0 { padding-top: 0; }
.pt-md-1 { padding-top: .25rem; }
.pt-md-2 { padding-top: .5rem; }
.pt-md-3 { padding-top: 1rem; }
.pt-md-4 { padding-top: 1.5rem; }
.pt-md-5 { padding-top: 3rem; }
.pb-md-0 { padding-bottom: 0; }
.pb-md-1 { padding-bottom: .25rem; }
.pb-md-2 { padding-bottom: .5rem; }
.pb-md-3 { padding-bottom: 1rem; }
.pb-md-4 { padding-bottom: 1.5rem; }
.pb-md-5 { padding-bottom: 3rem; }
.ps-md-0 { padding-left: 0; }
.ps-md-1 { padding-left: .25rem; }
.ps-md-2 { padding-left: .5rem; }
.ps-md-3 { padding-left: 1rem; }
.ps-md-4 { padding-left: 1.5rem; }
.ps-md-5 { padding-left: 3rem; }
.pe-md-0 { padding-right: 0; }
.pe-md-1 { padding-right: .25rem; }
.pe-md-2 { padding-right: .5rem; }
.pe-md-3 { padding-right: 1rem; }
.pe-md-4 { padding-right: 1.5rem; }
.pe-md-5 { padding-right: 3rem; }
.px-md-0 { padding-left: 0; padding-right: 0; }
.px-md-1 { padding-left: .25rem; padding-right: .25rem; }
.px-md-2 { padding-left: .5rem; padding-right: .5rem; }
.px-md-3 { padding-left: 1rem; padding-right: 1rem; }
.px-md-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-md-5 { padding-left: 3rem; padding-right: 3rem; }
.py-md-0 { padding-top: 0; padding-bottom: 0; }
.py-md-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-md-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-md-3 { padding-top: 1rem; padding-bottom: 1rem; }
.py-md-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-md-5 { padding-top: 3rem; padding-bottom: 3rem; }
}
@media (min-width: 992px) {
.m-lg-0 { margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; }
.m-lg-1 { margin-top: .25rem; margin-right: .25rem; margin-bottom: .25rem; margin-left: .25rem; }
.m-lg-2 { margin-top: .5rem; margin-right: .5rem; margin-bottom: .5rem; margin-left: .5rem; }
.m-lg-3 { margin-top: 1rem; margin-right: 1rem; margin-bottom: 1rem; margin-left: 1rem; }
.m-lg-4 { margin-top: 1.5rem; margin-right: 1.5rem; margin-bottom: 1.5rem; margin-left: 1.5rem; }
.m-lg-5 { margin-top: 3rem; margin-right: 3rem; margin-bottom: 3rem; margin-left: 3rem; }
.m-lg-auto { margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: auto; }
.mt-lg-0 { margin-top: 0; }
.mt-lg-1 { margin-top: .25rem; }
.mt-lg-2 { margin-top: .5rem; }
.mt-lg-3 { margin-top: 1rem; }
.mt-lg-4 { margin-top: 1.5rem; }
.mt-lg-5 { margin-top: 3rem; }
.mt-lg-auto { margin-top: auto; }
.mb-lg-0 { margin-bottom: 0; }
.mb-lg-1 { margin-bottom: .25rem; }
.mb-lg-2 { margin-bottom: .5rem; }
.mb-lg-3 { margin-bottom: 1rem; }
.mb-lg-4 { margin-bottom: 1.5rem; }
.mb-lg-5 { margin-bottom: 3rem; }
.mb-lg-auto { margin-bottom: auto; }
.ms-lg-0 { margin-left: 0; }
.ms-lg-1 { margin-left: .25rem; }
.ms-lg-2 { margin-left: .5rem; }
.ms-lg-3 { margin-left: 1rem; }
.ms-lg-4 { margin-left: 1.5rem; }
.ms-lg-5 { margin-left: 3rem; }
.ms-lg-auto { margin-left: auto; }
.me-lg-0 { margin-right: 0; }
.me-lg-1 { margin-right: .25rem; }
.me-lg-2 { margin-right: .5rem; }
.me-lg-3 { margin-right: 1rem; }
.me-lg-4 { margin-right: 1.5rem; }
.me-lg-5 { margin-right: 3rem; }
.me-lg-auto { margin-right: auto; }
.mx-lg-0 { margin-left: 0; margin-right: 0; }
.mx-lg-1 { margin-left: .25rem; margin-right: .25rem; }
.mx-lg-2 { margin-left: .5rem; margin-right: .5rem; }
.mx-lg-3 { margin-left: 1rem; margin-right: 1rem; }
.mx-lg-4 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mx-lg-5 { margin-left: 3rem; margin-right: 3rem; }
.mx-lg-auto { margin-left: auto; margin-right: auto; }
.my-lg-0 { margin-top: 0; margin-bottom: 0; }
.my-lg-1 { margin-top: .25rem; margin-bottom: .25rem; }
.my-lg-2 { margin-top: .5rem; margin-bottom: .5rem; }
.my-lg-3 { margin-top: 1rem; margin-bottom: 1rem; }
.my-lg-4 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.my-lg-5 { margin-top: 3rem; margin-bottom: 3rem; }
.my-lg-auto { margin-top: auto; margin-bottom: auto; }
.p-lg-0 { padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; }
.p-lg-1 { padding-top: .25rem; padding-right: .25rem; padding-bottom: .25rem; padding-left: .25rem; }
.p-lg-2 { padding-top: .5rem; padding-right: .5rem; padding-bottom: .5rem; padding-left: .5rem; }
.p-lg-3 { padding-top: 1rem; padding-right: 1rem; padding-bottom: 1rem; padding-left: 1rem; }
.p-lg-4 { padding-top: 1.5rem; padding-right: 1.5rem; padding-bottom: 1.5rem; padding-left: 1.5rem; }
.p-lg-5 { padding-top: 3rem; padding-right: 3rem; padding-bottom: 3rem; padding-left: 3rem; }
.pt-lg-0 { padding-top: 0; }
.pt-lg-1 { padding-top: .25rem; }
.pt-lg-2 { padding-top: .5rem; }
.pt-lg-3 { padding-top: 1rem; }
.pt-lg-4 { padding-top: 1.5rem; }
.pt-lg-5 { padding-top: 3rem; }
.pb-lg-0 { padding-bottom: 0; }
.pb-lg-1 { padding-bottom: .25rem; }
.pb-lg-2 { padding-bottom: .5rem; }
.pb-lg-3 { padding-bottom: 1rem; }
.pb-lg-4 { padding-bottom: 1.5rem; }
.pb-lg-5 { padding-bottom: 3rem; }
.ps-lg-0 { padding-left: 0; }
.ps-lg-1 { padding-left: .25rem; }
.ps-lg-2 { padding-left: .5rem; }
.ps-lg-3 { padding-left: 1rem; }
.ps-lg-4 { padding-left: 1.5rem; }
.ps-lg-5 { padding-left: 3rem; }
.pe-lg-0 { padding-right: 0; }
.pe-lg-1 { padding-right: .25rem; }
.pe-lg-2 { padding-right: .5rem; }
.pe-lg-3 { padding-right: 1rem; }
.pe-lg-4 { padding-right: 1.5rem; }
.pe-lg-5 { padding-right: 3rem; }
.px-lg-0 { padding-left: 0; padding-right: 0; }
.px-lg-1 { padding-left: .25rem; padding-right: .25rem; }
.px-lg-2 { padding-left: .5rem; padding-right: .5rem; }
.px-lg-3 { padding-left: 1rem; padding-right: 1rem; }
.px-lg-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-lg-5 { padding-left: 3rem; padding-right: 3rem; }
.py-lg-0 { padding-top: 0; padding-bottom: 0; }
.py-lg-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-lg-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-lg-3 { padding-top: 1rem; padding-bottom: 1rem; }
.py-lg-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-lg-5 { padding-top: 3rem; padding-bottom: 3rem; }
}
@media (min-width: 1200px) {
.m-xl-0 { margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; }
.m-xl-1 { margin-top: .25rem; margin-right: .25rem; margin-bottom: .25rem; margin-left: .25rem; }
.m-xl-2 { margin-top: .5rem; margin-right: .5rem; margin-bottom: .5rem; margin-left: .5rem; }
.m-xl-3 { margin-top: 1rem; margin-right: 1rem; margin-bottom: 1rem; margin-left: 1rem; }
.m-xl-4 { margin-top: 1.5rem; margin-right: 1.5rem; margin-bottom: 1.5rem; margin-left: 1.5rem; }
.m-xl-5 { margin-top: 3rem; margin-right: 3rem; margin-bottom: 3rem; margin-left: 3rem; }
.m-xl-auto { margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: auto; }
.mt-xl-0 { margin-top: 0; }
.mt-xl-1 { margin-top: .25rem; }
.mt-xl-2 { margin-top: .5rem; }
.mt-xl-3 { margin-top: 1rem; }
.mt-xl-4 { margin-top: 1.5rem; }
.mt-xl-5 { margin-top: 3rem; }
.mt-xl-auto { margin-top: auto; }
.mb-xl-0 { margin-bottom: 0; }
.mb-xl-1 { margin-bottom: .25rem; }
.mb-xl-2 { margin-bottom: .5rem; }
.mb-xl-3 { margin-bottom: 1rem; }
.mb-xl-4 { margin-bottom: 1.5rem; }
.mb-xl-5 { margin-bottom: 3rem; }
.mb-xl-auto { margin-bottom: auto; }
.ms-xl-0 { margin-left: 0; }
.ms-xl-1 { margin-left: .25rem; }
.ms-xl-2 { margin-left: .5rem; }
.ms-xl-3 { margin-left: 1rem; }
.ms-xl-4 { margin-left: 1.5rem; }
.ms-xl-5 { margin-left: 3rem; }
.ms-xl-auto { margin-left: auto; }
.me-xl-0 { margin-right: 0; }
.me-xl-1 { margin-right: .25rem; }
.me-xl-2 { margin-right: .5rem; }
.me-xl-3 { margin-right: 1rem; }
.me-xl-4 { margin-right: 1.5rem; }
.me-xl-5 { margin-right: 3rem; }
.me-xl-auto { margin-right: auto; }
.mx-xl-0 { margin-left: 0; margin-right: 0; }
.mx-xl-1 { margin-left: .25rem; margin-right: .25rem; }
.mx-xl-2 { margin-left: .5rem; margin-right: .5rem; }
.mx-xl-3 { margin-left: 1rem; margin-right: 1rem; }
.mx-xl-4 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mx-xl-5 { margin-left: 3rem; margin-right: 3rem; }
.mx-xl-auto { margin-left: auto; margin-right: auto; }
.my-xl-0 { margin-top: 0; margin-bottom: 0; }
.my-xl-1 { margin-top: .25rem; margin-bottom: .25rem; }
.my-xl-2 { margin-top: .5rem; margin-bottom: .5rem; }
.my-xl-3 { margin-top: 1rem; margin-bottom: 1rem; }
.my-xl-4 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.my-xl-5 { margin-top: 3rem; margin-bottom: 3rem; }
.my-xl-auto { margin-top: auto; margin-bottom: auto; }
.p-xl-0 { padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; }
.p-xl-1 { padding-top: .25rem; padding-right: .25rem; padding-bottom: .25rem; padding-left: .25rem; }
.p-xl-2 { padding-top: .5rem; padding-right: .5rem; padding-bottom: .5rem; padding-left: .5rem; }
.p-xl-3 { padding-top: 1rem; padding-right: 1rem; padding-bottom: 1rem; padding-left: 1rem; }
.p-xl-4 { padding-top: 1.5rem; padding-right: 1.5rem; padding-bottom: 1.5rem; padding-left: 1.5rem; }
.p-xl-5 { padding-top: 3rem; padding-right: 3rem; padding-bottom: 3rem; padding-left: 3rem; }
.pt-xl-0 { padding-top: 0; }
.pt-xl-1 { padding-top: .25rem; }
.pt-xl-2 { padding-top: .5rem; }
.pt-xl-3 { padding-top: 1rem; }
.pt-xl-4 { padding-top: 1.5rem; }
.pt-xl-5 { padding-top: 3rem; }
.pb-xl-0 { padding-bottom: 0; }
.pb-xl-1 { padding-bottom: .25rem; }
.pb-xl-2 { padding-bottom: .5rem; }
.pb-xl-3 { padding-bottom: 1rem; }
.pb-xl-4 { padding-bottom: 1.5rem; }
.pb-xl-5 { padding-bottom: 3rem; }
.ps-xl-0 { padding-left: 0; }
.ps-xl-1 { padding-left: .25rem; }
.ps-xl-2 { padding-left: .5rem; }
.ps-xl-3 { padding-left: 1rem; }
.ps-xl-4 { padding-left: 1.5rem; }
.ps-xl-5 { padding-left: 3rem; }
.pe-xl-0 { padding-right: 0; }
.pe-xl-1 { padding-right: .25rem; }
.pe-xl-2 { padding-right: .5rem; }
.pe-xl-3 { padding-right: 1rem; }
.pe-xl-4 { padding-right: 1.5rem; }
.pe-xl-5 { padding-right: 3rem; }
.px-xl-0 { padding-left: 0; padding-right: 0; }
.px-xl-1 { padding-left: .25rem; padding-right: .25rem; }
.px-xl-2 { padding-left: .5rem; padding-right: .5rem; }
.px-xl-3 { padding-left: 1rem; padding-right: 1rem; }
.px-xl-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-xl-5 { padding-left: 3rem; padding-right: 3rem; }
.py-xl-0 { padding-top: 0; padding-bottom: 0; }
.py-xl-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-xl-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-xl-3 { padding-top: 1rem; padding-bottom: 1rem; }
.py-xl-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-xl-5 { padding-top: 3rem; padding-bottom: 3rem; }
}
@media (min-width: 1400px) {
.m-xxl-0 { margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; }
.m-xxl-1 { margin-top: .25rem; margin-right: .25rem; margin-bottom: .25rem; margin-left: .25rem; }
.m-xxl-2 { margin-top: .5rem; margin-right: .5rem; margin-bottom: .5rem; margin-left: .5rem; }
.m-xxl-3 { margin-top: 1rem; margin-right: 1rem; margin-bottom: 1rem; margin-left: 1rem; }
.m-xxl-4 { margin-top: 1.5rem; margin-right: 1.5rem; margin-bottom: 1.5rem; margin-left: 1.5rem; }
.m-xxl-5 { margin-top: 3rem; margin-right: 3rem; margin-bottom: 3rem; margin-left: 3rem; }
.m-xxl-auto { margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: auto; }
.mt-xxl-0 { margin-top: 0; }
.mt-xxl-1 { margin-top: .25rem; }
.mt-xxl-2 { margin-top: .5rem; }
.mt-xxl-3 { margin-top: 1rem; }
.mt-xxl-4 { margin-top: 1.5rem; }
.mt-xxl-5 { margin-top: 3rem; }
.mt-xxl-auto { margin-top: auto; }
.mb-xxl-0 { margin-bottom: 0; }
.mb-xxl-1 { margin-bottom: .25rem; }
.mb-xxl-2 { margin-bottom: .5rem; }
.mb-xxl-3 { margin-bottom: 1rem; }
.mb-xxl-4 { margin-bottom: 1.5rem; }
.mb-xxl-5 { margin-bottom: 3rem; }
.mb-xxl-auto { margin-bottom: auto; }
.ms-xxl-0 { margin-left: 0; }
.ms-xxl-1 { margin-left: .25rem; }
.ms-xxl-2 { margin-left: .5rem; }
.ms-xxl-3 { margin-left: 1rem; }
.ms-xxl-4 { margin-left: 1.5rem; }
.ms-xxl-5 { margin-left: 3rem; }
.ms-xxl-auto { margin-left: auto; }
.me-xxl-0 { margin-right: 0; }
.me-xxl-1 { margin-right: .25rem; }
.me-xxl-2 { margin-right: .5rem; }
.me-xxl-3 { margin-right: 1rem; }
.me-xxl-4 { margin-right: 1.5rem; }
.me-xxl-5 { margin-right: 3rem; }
.me-xxl-auto { margin-right: auto; }
.mx-xxl-0 { margin-left: 0; margin-right: 0; }
.mx-xxl-1 { margin-left: .25rem; margin-right: .25rem; }
.mx-xxl-2 { margin-left: .5rem; margin-right: .5rem; }
.mx-xxl-3 { margin-left: 1rem; margin-right: 1rem; }
.mx-xxl-4 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mx-xxl-5 { margin-left: 3rem; margin-right: 3rem; }
.mx-xxl-auto { margin-left: auto; margin-right: auto; }
.my-xxl-0 { margin-top: 0; margin-bottom: 0; }
.my-xxl-1 { margin-top: .25rem; margin-bottom: .25rem; }
.my-xxl-2 { margin-top: .5rem; margin-bottom: .5rem; }
.my-xxl-3 { margin-top: 1rem; margin-bottom: 1rem; }
.my-xxl-4 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.my-xxl-5 { margin-top: 3rem; margin-bottom: 3rem; }
.my-xxl-auto { margin-top: auto; margin-bottom: auto; }
.p-xxl-0 { padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; }
.p-xxl-1 { padding-top: .25rem; padding-right: .25rem; padding-bottom: .25rem; padding-left: .25rem; }
.p-xxl-2 { padding-top: .5rem; padding-right: .5rem; padding-bottom: .5rem; padding-left: .5rem; }
.p-xxl-3 { padding-top: 1rem; padding-right: 1rem; padding-bottom: 1rem; padding-left: 1rem; }
.p-xxl-4 { padding-top: 1.5rem; padding-right: 1.5rem; padding-bottom: 1.5rem; padding-left: 1.5rem; }
.p-xxl-5 { padding-top: 3rem; padding-right: 3rem; padding-bottom: 3rem; padding-left: 3rem; }
.pt-xxl-0 { padding-top: 0; }
.pt-xxl-1 { padding-top: .25rem; }
.pt-xxl-2 { padding-top: .5rem; }
.pt-xxl-3 { padding-top: 1rem; }
.pt-xxl-4 { padding-top: 1.5rem; }
.pt-xxl-5 { padding-top: 3rem; }
.pb-xxl-0 { padding-bottom: 0; }
.pb-xxl-1 { padding-bottom: .25rem; }
.pb-xxl-2 { padding-bottom: .5rem; }
.pb-xxl-3 { padding-bottom: 1rem; }
.pb-xxl-4 { padding-bottom: 1.5rem; }
.pb-xxl-5 { padding-bottom: 3rem; }
.ps-xxl-0 { padding-left: 0; }
.ps-xxl-1 { padding-left: .25rem; }
.ps-xxl-2 { padding-left: .5rem; }
.ps-xxl-3 { padding-left: 1rem; }
.ps-xxl-4 { padding-left: 1.5rem; }
.ps-xxl-5 { padding-left: 3rem; }
.pe-xxl-0 { padding-right: 0; }
.pe-xxl-1 { padding-right: .25rem; }
.pe-xxl-2 { padding-right: .5rem; }
.pe-xxl-3 { padding-right: 1rem; }
.pe-xxl-4 { padding-right: 1.5rem; }
.pe-xxl-5 { padding-right: 3rem; }
.px-xxl-0 { padding-left: 0; padding-right: 0; }
.px-xxl-1 { padding-left: .25rem; padding-right: .25rem; }
.px-xxl-2 { padding-left: .5rem; padding-right: .5rem; }
.px-xxl-3 { padding-left: 1rem; padding-right: 1rem; }
.px-xxl-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-xxl-5 { padding-left: 3rem; padding-right: 3rem; }
.py-xxl-0 { padding-top: 0; padding-bottom: 0; }
.py-xxl-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-xxl-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-xxl-3 { padding-top: 1rem; padding-bottom: 1rem; }
.py-xxl-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-xxl-5 { padding-top: 3rem; padding-bottom: 3rem; }
}
.d-none { display: none !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-block { display: block !important; }
.d-grid { display: grid !important; }
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-table { display: table !important; }
.d-table-row { display: table-row !important; }
.d-table-cell { display: table-cell !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-wrap { flex-wrap: wrap !important; }
.flex-nowrap { flex-wrap: nowrap !important; }
.flex-wrap-reverse { flex-wrap: wrap-reverse !important; }
.flex-fill { flex: 1 1 auto !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; }
.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-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; }
.align-self-auto { align-self: auto !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; }
.gap-0 { gap: 0 !important; }
.gap-1 { gap: .25rem !important; }
.gap-2 { gap: .5rem !important; }
.gap-3 { gap: 1rem !important; }
.gap-4 { gap: 1.5rem !important; }
.gap-5 { gap: 3rem !important; }
.text-start { text-align: left !important; }
.text-end { text-align: right !important; }
.text-center { text-align: center !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; }
@media (min-width: 576px) {
.d-sm-none { display: none !important; }
.d-sm-inline { display: inline !important; }
.d-sm-inline-block { display: inline-block !important; }
.d-sm-block { display: block !important; }
.d-sm-grid { display: grid !important; }
.d-sm-flex { display: flex !important; }
.d-sm-inline-flex { display: inline-flex !important; }
.d-sm-table { display: table !important; }
.d-sm-table-row { display: table-row !important; }
.d-sm-table-cell { display: table-cell !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-wrap { flex-wrap: wrap !important; }
.flex-sm-nowrap { flex-wrap: nowrap !important; }
.flex-sm-wrap-reverse { flex-wrap: wrap-reverse !important; }
.flex-sm-fill { flex: 1 1 auto !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; }
.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-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; }
.align-self-sm-auto { align-self: auto !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; }
.gap-sm-0 { gap: 0 !important; }
.gap-sm-1 { gap: .25rem !important; }
.gap-sm-2 { gap: .5rem !important; }
.gap-sm-3 { gap: 1rem !important; }
.gap-sm-4 { gap: 1.5rem !important; }
.gap-sm-5 { gap: 3rem !important; }
.text-sm-start { text-align: left !important; }
.text-sm-end { text-align: right !important; }
.text-sm-center { text-align: center !important; }
.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; }
}
@media (min-width: 768px) {
.d-md-none { display: none !important; }
.d-md-inline { display: inline !important; }
.d-md-inline-block { display: inline-block !important; }
.d-md-block { display: block !important; }
.d-md-grid { display: grid !important; }
.d-md-flex { display: flex !important; }
.d-md-inline-flex { display: inline-flex !important; }
.d-md-table { display: table !important; }
.d-md-table-row { display: table-row !important; }
.d-md-table-cell { display: table-cell !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-wrap { flex-wrap: wrap !important; }
.flex-md-nowrap { flex-wrap: nowrap !important; }
.flex-md-wrap-reverse { flex-wrap: wrap-reverse !important; }
.flex-md-fill { flex: 1 1 auto !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; }
.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-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; }
.align-self-md-auto { align-self: auto !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; }
.gap-md-0 { gap: 0 !important; }
.gap-md-1 { gap: .25rem !important; }
.gap-md-2 { gap: .5rem !important; }
.gap-md-3 { gap: 1rem !important; }
.gap-md-4 { gap: 1.5rem !important; }
.gap-md-5 { gap: 3rem !important; }
.text-md-start { text-align: left !important; }
.text-md-end { text-align: right !important; }
.text-md-center { text-align: center !important; }
.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; }
}
@media (min-width: 992px) {
.d-lg-none { display: none !important; }
.d-lg-inline { display: inline !important; }
.d-lg-inline-block { display: inline-block !important; }
.d-lg-block { display: block !important; }
.d-lg-grid { display: grid !important; }
.d-lg-flex { display: flex !important; }
.d-lg-inline-flex { display: inline-flex !important; }
.d-lg-table { display: table !important; }
.d-lg-table-row { display: table-row !important; }
.d-lg-table-cell { display: table-cell !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-wrap { flex-wrap: wrap !important; }
.flex-lg-nowrap { flex-wrap: nowrap !important; }
.flex-lg-wrap-reverse { flex-wrap: wrap-reverse !important; }
.flex-lg-fill { flex: 1 1 auto !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; }
.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-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; }
.align-self-lg-auto { align-self: auto !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; }
.gap-lg-0 { gap: 0 !important; }
.gap-lg-1 { gap: .25rem !important; }
.gap-lg-2 { gap: .5rem !important; }
.gap-lg-3 { gap: 1rem !important; }
.gap-lg-4 { gap: 1.5rem !important; }
.gap-lg-5 { gap: 3rem !important; }
.text-lg-start { text-align: left !important; }
.text-lg-end { text-align: right !important; }
.text-lg-center { text-align: center !important; }
.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; }
}
@media (min-width: 1200px) {
.d-xl-none { display: none !important; }
.d-xl-inline { display: inline !important; }
.d-xl-inline-block { display: inline-block !important; }
.d-xl-block { display: block !important; }
.d-xl-grid { display: grid !important; }
.d-xl-flex { display: flex !important; }
.d-xl-inline-flex { display: inline-flex !important; }
.d-xl-table { display: table !important; }
.d-xl-table-row { display: table-row !important; }
.d-xl-table-cell { display: table-cell !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-wrap { flex-wrap: wrap !important; }
.flex-xl-nowrap { flex-wrap: nowrap !important; }
.flex-xl-wrap-reverse { flex-wrap: wrap-reverse !important; }
.flex-xl-fill { flex: 1 1 auto !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; }
.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-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; }
.align-self-xl-auto { align-self: auto !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; }
.gap-xl-0 { gap: 0 !important; }
.gap-xl-1 { gap: .25rem !important; }
.gap-xl-2 { gap: .5rem !important; }
.gap-xl-3 { gap: 1rem !important; }
.gap-xl-4 { gap: 1.5rem !important; }
.gap-xl-5 { gap: 3rem !important; }
.text-xl-start { text-align: left !important; }
.text-xl-end { text-align: right !important; }
.text-xl-center { text-align: center !important; }
.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; }
}
@media (min-width: 1400px) {
.d-xxl-none { display: none !important; }
.d-xxl-inline { display: inline !important; }
.d-xxl-inline-block { display: inline-block !important; }
.d-xxl-block { display: block !important; }
.d-xxl-grid { display: grid !important; }
.d-xxl-flex { display: flex !important; }
.d-xxl-inline-flex { display: inline-flex !important; }
.d-xxl-table { display: table !important; }
.d-xxl-table-row { display: table-row !important; }
.d-xxl-table-cell { display: table-cell !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-wrap { flex-wrap: wrap !important; }
.flex-xxl-nowrap { flex-wrap: nowrap !important; }
.flex-xxl-wrap-reverse { flex-wrap: wrap-reverse !important; }
.flex-xxl-fill { flex: 1 1 auto !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; }
.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-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; }
.align-self-xxl-auto { align-self: auto !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; }
.gap-xxl-0 { gap: 0 !important; }
.gap-xxl-1 { gap: .25rem !important; }
.gap-xxl-2 { gap: .5rem !important; }
.gap-xxl-3 { gap: 1rem !important; }
.gap-xxl-4 { gap: 1.5rem !important; }
.gap-xxl-5 { gap: 3rem !important; }
.text-xxl-start { text-align: left !important; }
.text-xxl-end { text-align: right !important; }
.text-xxl-center { text-align: center !important; }
.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; }
}

/* ---- Colour / text utilities mapped to M3 roles ---- */
.text-primary { color: var(--md-primary) !important; }
.text-secondary { color: var(--md-on-surface-variant) !important; }
.text-success { color: var(--md-success) !important; }
.text-danger { color: var(--md-error) !important; }
.text-warning { color: var(--md-warning) !important; }
.text-info { color: var(--md-tertiary) !important; }
.text-muted { color: var(--md-on-surface-variant) !important; }
.text-body { color: var(--md-on-surface) !important; }
/* `.text-white` only ever sits on primary-filled surfaces here, so it resolves to
   the on-primary role: identical to #fff in light, readable in dark. */
.text-white { color: var(--md-on-primary) !important; }
/* 70% fell just under WCAG AA (≈3.9:1) on the primary-container fills used by
   the wallet / share / topup balance cards. 85% clears 4.5:1 and still reads as
   a secondary label. */
.text-white-50 { color: color-mix(in srgb, var(--md-on-primary) 85%, transparent) !important; }
.text-dark { color: var(--md-on-surface) !important; }
.text-heading { color: var(--md-on-surface) !important; }
.text-light { color: var(--md-outline) !important; }
.text-nowrap { white-space: nowrap !important; }
.text-wrap { white-space: normal !important; }
.text-break { word-break: break-word !important; overflow-wrap: break-word !important; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-uppercase { text-transform: uppercase !important; }
.text-lowercase { text-transform: lowercase !important; }
.text-capitalize { text-transform: capitalize !important; }
.text-decoration-none { text-decoration: none !important; }
.text-decoration-line-through { text-decoration: line-through !important; }

.fw-light { font-weight: 300 !important; }
.fw-normal { font-weight: 400 !important; }
.fw-medium { font-weight: 500 !important; }
.fw-semibold { font-weight: 500 !important; }
.fw-bold { font-weight: 700 !important; }
.fw-bolder { font-weight: 700 !important; }
.fst-italic { font-style: italic !important; }
.lh-1 { line-height: 1 !important; }
.lh-sm { line-height: 1.25 !important; }
.lh-base { line-height: 1.5 !important; }

.fs-1 { font: var(--md-headline-large) !important; }
.fs-2 { font: var(--md-headline-medium) !important; }
.fs-3 { font: var(--md-headline-small) !important; }
.fs-4 { font: var(--md-title-large) !important; }
.fs-5 { font: var(--md-title-medium) !important; }
.fs-6 { font: var(--md-title-small) !important; }
.fs-tiny { font: var(--md-label-small) !important; }

.bg-primary { background-color: var(--md-primary) !important; color: var(--md-on-primary) !important; }
.bg-secondary { background-color: var(--md-secondary) !important; color: var(--md-on-secondary) !important; }
.bg-success { background-color: var(--md-success) !important; color: var(--md-on-success) !important; }
.bg-danger { background-color: var(--md-error) !important; color: var(--md-on-error) !important; }
.bg-warning { background-color: var(--md-warning) !important; color: var(--md-on-warning) !important; }
.bg-info { background-color: var(--md-tertiary) !important; color: var(--md-on-tertiary) !important; }
.bg-white { background-color: var(--md-surface-container-lowest) !important; }
.bg-body { background-color: var(--md-background) !important; }
.bg-light { background-color: var(--md-surface-container-low) !important; }
.bg-dark { background-color: var(--md-inverse-surface) !important; color: var(--md-inverse-on-surface) !important; }
.bg-transparent { background-color: transparent !important; }

/* Bootstrap 5.3 "-subtle" backgrounds map onto the same M3 container roles,
   so any markup still using them renders as Material rather than unstyled. */
.bg-primary-subtle { background-color: var(--md-primary-container) !important; color: var(--md-on-primary-container) !important; }
.bg-secondary-subtle { background-color: var(--md-secondary-container) !important; color: var(--md-on-secondary-container) !important; }
.bg-success-subtle { background-color: var(--md-success-container) !important; color: var(--md-on-success-container) !important; }
.bg-danger-subtle { background-color: var(--md-error-container) !important; color: var(--md-on-error-container) !important; }
.bg-warning-subtle { background-color: var(--md-warning-container) !important; color: var(--md-on-warning-container) !important; }
.bg-info-subtle { background-color: var(--md-tertiary-container) !important; color: var(--md-on-tertiary-container) !important; }
.bg-dark-subtle { background-color: var(--md-surface-container-highest) !important; color: var(--md-on-surface) !important; }
.border-primary-subtle { border-color: var(--md-primary-container) !important; }
.border-success-subtle { border-color: var(--md-success-container) !important; }
.border-danger-subtle { border-color: var(--md-error-container) !important; }
.border-warning-subtle { border-color: var(--md-warning-container) !important; }
.border-info-subtle { border-color: var(--md-tertiary-container) !important; }

/* M3 tonal "label" backgrounds — container roles, not tinted greys. */
.bg-label-primary { background-color: var(--md-primary-container) !important; color: var(--md-on-primary-container) !important; }
.bg-label-secondary { background-color: var(--md-secondary-container) !important; color: var(--md-on-secondary-container) !important; }
.bg-label-success { background-color: var(--md-success-container) !important; color: var(--md-on-success-container) !important; }
.bg-label-danger { background-color: var(--md-error-container) !important; color: var(--md-on-error-container) !important; }
.bg-label-warning { background-color: var(--md-warning-container) !important; color: var(--md-on-warning-container) !important; }
.bg-label-info { background-color: var(--md-tertiary-container) !important; color: var(--md-on-tertiary-container) !important; }
.bg-label-dark { background-color: var(--md-surface-container-highest) !important; color: var(--md-on-surface) !important; }

/* ---- Sizing ---- */
.w-25 { width: 25% !important; } .w-50 { width: 50% !important; }
.w-75 { width: 75% !important; } .w-100 { width: 100% !important; }
.w-auto { width: auto !important; } .mw-100 { max-width: 100% !important; }
.h-25 { height: 25% !important; } .h-50 { height: 50% !important; }
.h-75 { height: 75% !important; } .h-100 { height: 100% !important; }
.h-auto { height: auto !important; } .mh-100 { max-height: 100% !important; }
.vh-100 { height: 100vh !important; } .min-vh-100 { min-height: 100vh !important; }

/* ---- Position ---- */
.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.position-fixed { position: fixed !important; }
.position-sticky { position: sticky !important; }
.position-static { position: static !important; }
.top-0 { top: 0 !important; } .top-50 { top: 50% !important; } .top-100 { top: 100% !important; }
.bottom-0 { bottom: 0 !important; } .bottom-50 { bottom: 50% !important; }
.start-0 { left: 0 !important; } .start-50 { left: 50% !important; } .start-100 { left: 100% !important; }
.end-0 { right: 0 !important; } .end-50 { right: 50% !important; }
.translate-middle { transform: translate(-50%, -50%) !important; }
.translate-middle-x { transform: translateX(-50%) !important; }
.translate-middle-y { transform: translateY(-50%) !important; }

/* ---- Borders (M3 outline roles) ---- */
.border { border: 1px solid var(--md-outline-variant) !important; }
.border-0 { border: 0 !important; }
.border-top { border-top: 1px solid var(--md-outline-variant) !important; }
.border-bottom { border-bottom: 1px solid var(--md-outline-variant) !important; }
.border-start { border-left: 1px solid var(--md-outline-variant) !important; }
.border-end { border-right: 1px solid var(--md-outline-variant) !important; }
.border-top-0 { border-top: 0 !important; } .border-bottom-0 { border-bottom: 0 !important; }
.border-primary { border-color: var(--md-primary) !important; }
.border-danger { border-color: var(--md-error) !important; }
.border-success { border-color: var(--md-success) !important; }
.border-light { border-color: var(--md-outline-variant) !important; }
.border-transparent { border-color: transparent !important; }

.rounded { border-radius: var(--md-shape-md) !important; }
.rounded-0 { border-radius: 0 !important; }
.rounded-1 { border-radius: var(--md-shape-xs) !important; }
.rounded-2 { border-radius: var(--md-shape-sm) !important; }
.rounded-3 { border-radius: var(--md-shape-md) !important; }
.rounded-4 { border-radius: var(--md-shape-lg) !important; }
.rounded-circle { border-radius: 50% !important; }
.rounded-pill { border-radius: var(--md-shape-full) !important; }
.rounded-top { border-radius: var(--md-shape-md) var(--md-shape-md) 0 0 !important; }
.rounded-bottom { border-radius: 0 0 var(--md-shape-md) var(--md-shape-md) !important; }

/* ---- Elevation ---- */
.shadow-none { box-shadow: none !important; }
.shadow-xs, .shadow-sm { box-shadow: var(--md-elevation-1) !important; }
.shadow { box-shadow: var(--md-elevation-2) !important; }
.shadow-lg { box-shadow: var(--md-elevation-3) !important; }

/* ---- Misc ---- */
.overflow-auto { overflow: auto !important; }
.overflow-hidden { overflow: hidden !important; }
.overflow-x-auto { overflow-x: auto !important; }
.opacity-0 { opacity: 0 !important; } .opacity-25 { opacity: .25 !important; }
.opacity-50 { opacity: .5 !important; } .opacity-75 { opacity: .75 !important; }
.opacity-100 { opacity: 1 !important; }
.invisible { visibility: hidden !important; }
.visible { visibility: visible !important; }
.user-select-none { user-select: none !important; }
.cursor-pointer { cursor: pointer !important; }
.pointer-events-none { pointer-events: none !important; }
.list-unstyled { padding-left: 0; list-style: none; }
.float-start { float: left !important; } .float-end { float: right !important; }
.clearfix::after { display: block; clear: both; content: ""; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important;
  white-space: nowrap !important; border: 0 !important; }
.ratio { position: relative; width: 100%; }
.ratio::before { display: block; padding-top: var(--ratio, 56.25%); content: ""; }
.ratio > * { position: absolute; inset: 0; width: 100%; height: 100%; }
.ratio-16x9 { --ratio: 56.25%; } .ratio-1x1 { --ratio: 100%; } .ratio-4x3 { --ratio: 75%; }

