RZREDZ.UI

Utilities

Single-purpose classes with Bootstrap 5's names, where the number is the value: p-16, gap-8, fs-14, rounded-8, w-50. Written once from a vocabulary file and committed - nothing is generated where they are used.

Scales

  • Space, in px: 0 2 4 8 12 16 20 24 32 40 48 64 - for m, p and gap with their sides: mt mb ms me mx my, the same for p. ms and me are the start and the end of the line, so they turn right to left.
  • Font size: 11 12 14 16 18 20 24 32 40 48 - 11 for the smallest caption, 40 and 48 for one hero number; line height: 16 20 24 28; radius: 0 4 6 8 12 16 and rounded-full.
  • Width prefixes come on placement and spacing - display, flex, grid, gaps, order, text alignment, margins and paddings: md:d-none, lg:p-24.
  • d-none beats every other display class and component on its element, and a width prefix beats it: d-none md:d-flex shows from md. Page styles outside the layers beat it too: use hidden there.

Aspect ratio

ratio-1x1, ratio-4x3, ratio-16x9 and ratio-21x9 keep an element's shape as its width changes - on a video, a map, an image's frame; ratio-auto lets it go. ratio-1.91x1 is the shape of a link's preview image on social networks, 1200 × 630. The class goes on the element itself: an image inside a frame fills it with w-100 h-100 object-fit-cover.

16 × 9
1 × 1
1.91 × 1
<div class="ratio-16x9 w-50 hstack justify-content-center rounded-8 bg-page text-muted">16 × 9</div>
<div class="ratio-1x1 w-25 hstack justify-content-center rounded-8 bg-page text-muted">1 × 1</div>
<div class="ratio-1.91x1 w-50 hstack justify-content-center rounded-8 bg-page text-muted">1.91 × 1</div>

Sizes in pixels

Where a control or a mark needs a fixed size - a narrow field in a toolbar, a column of codes, a thumbnail - the number is the pixels, as with the spaces:

  • w-56 w-64 w-80 w-96 w-120 w-160 beside the shares w-25 to w-100; h-32 h-40 h-72 beside h-25 to h-100.
  • min-w-56 min-w-120 min-w-160 min-w-200 min-w-240 min-w-288; max-w-80 to max-w-1200, with 360 and 560 among them.
  • size-32 size-48 size-64 size-80 set both sides at once: a square.
<span class="size-32 rounded-8 bg-page"></span>
<span class="size-48 rounded-8 bg-page"></span>
<span class="size-64 rounded-8 bg-page"></span>
<span class="size-80 rounded-8 bg-page"></span>
<input class="form-control w-120" type="text" aria-label="Code" value="SPRING-26">

Text: kept lines, captions, clamps

text-pre-wrap keeps the lines and the spaces a person typed - a note, an address - and still wraps a long line. tracking-wide spaces the letters of a caption in capitals. line-clamp-2 and line-clamp-3 cut a text after two or three lines with an ellipsis; the whole text stays in the page for a screen reader and for search.

Villa 12, Harbor Road Main Island 00000

Last 30 days

North Bay by speedboat: a day among the forty-two islands of the marine park, with snorkelling at Reef Islet, the emerald lake of Emerald Islet and lunch on the beach, back by five.

<p class="text-pre-wrap">Villa 12, Harbor Road&#10;Main Island 00000</p>
<p class="fs-11 text-uppercase tracking-wide text-muted">Last 30 days</p>
<p class="line-clamp-2 max-w-360">North Bay by speedboat: a day among the forty-two islands of the marine park, with snorkelling at Reef Islet, the emerald lake of Emerald Islet and lunch on the beach, back by five.</p>

Shown when focused

visually-hidden-focusable hides an element until it or something in it takes the focus - the first link of a page that jumps to its content. Press Tab into the example to see it.

Skip to every utility The link above shows on focus.
<a class="visually-hidden-focusable btn" href="#utilities-all">Skip to every utility</a>
<span class="text-muted">The link above shows on focus.</span>

A flash and a sticky panel

flash lights an element's ground once and lets it fade - a row a click elsewhere changed. To light it again, take the class off, let the browser lay the element out, and put the class back. sticky-top keeps an element at the top while the page scrolls: under the app header in the shell, at --redz-sticky-top anywhere else.

A row a click elsewhere changed
<button class="btn" type="button" data-docs-run="flash" aria-controls="utilities-flash-target">Change the row</button>
<span class="p-8 rounded-8" id="utilities-flash-target">A row a click elsewhere changed</span>
row.classList.remove('flash');
void row.offsetWidth;
row.classList.add('flash');

Off the screen

offscreen puts an element outside the page, where no one sees it, yet it stays rendered: not display: none, visibility: hidden or the clip of visually-hidden, which bots look for. Two uses:

  • A form's trap for bots: a field a person never fills. Its wrapper carries aria-hidden="true" so no screen reader meets it; the field has tabindex="-1", autocomplete="off" and a plausible name, such as company_url. The server refuses a form that comes back with it filled. Name the class and the field plainly: bots skip what is called a honeypot.
  • A field that takes what a keyboard-wedge reader types - a badge or a fob read at a kiosk - kept focused while nothing else is.
A field is here, off the screen.
<div class="offscreen" aria-hidden="true"><label>Company site<input type="text" name="company_url" tabindex="-1" autocomplete="off"></label></div>
<span class="text-muted">A field is here, off the screen.</span>

Dividers, rules and icon links

divide-x and divide-y on a parent draw a line between its children, across or down, with no class on any child. vr is a rule between the items of a row. icon-link lines an icon up with the words of a link.

BookingsGuestsRevenue
Open on the site
<div class="hstack divide-x"><span class="px-12">Bookings</span><span class="px-12">Guests</span><span class="px-12">Revenue</span></div>
<div class="hstack gap-12"><button class="btn btn-sm" type="button">Copy</button><span class="vr"></span><button class="btn btn-sm" type="button">Delete</button></div>
<a class="icon-link" href="#utilities-divide"><i class="bi bi-box-arrow-up-right" aria-hidden="true"></i>Open on the site</a>

Every utility

ClassDeclarationsWidth prefixes
d-inlinedisplay: inline;yes
d-inline-blockdisplay: inline-block;yes
d-blockdisplay: block;yes
d-griddisplay: grid;yes
d-inline-griddisplay: inline-grid;yes
d-flexdisplay: flex;yes
d-inline-flexdisplay: inline-flex;yes
d-tabledisplay: table;yes
d-table-rowdisplay: table-row;yes
d-table-celldisplay: table-cell;yes
d-contentsdisplay: contents;yes
vstackdisplay: flex; flex: 1 1 auto; flex-direction: column; align-self: stretch;yes
hstackdisplay: flex; flex-direction: row; align-items: center; align-self: stretch;yes
flex-rowflex-direction: row;yes
flex-columnflex-direction: column;yes
flex-row-reverseflex-direction: row-reverse;yes
flex-column-reverseflex-direction: column-reverse;yes
flex-wrapflex-wrap: wrap;yes
flex-nowrapflex-wrap: nowrap;yes
flex-wrap-reverseflex-wrap: wrap-reverse;yes
flex-fillflex: 1 1 auto;yes
flex-grow-0flex-grow: 0;yes
flex-grow-1flex-grow: 1;yes
flex-shrink-0flex-shrink: 0;yes
flex-shrink-1flex-shrink: 1;yes
justify-content-startjustify-content: flex-start;yes
justify-content-endjustify-content: flex-end;yes
justify-content-centerjustify-content: center;yes
justify-content-betweenjustify-content: space-between;yes
justify-content-aroundjustify-content: space-around;yes
justify-content-evenlyjustify-content: space-evenly;yes
align-items-startalign-items: flex-start;yes
align-items-endalign-items: flex-end;yes
align-items-centeralign-items: center;yes
align-items-baselinealign-items: baseline;yes
align-items-stretchalign-items: stretch;yes
justify-items-startjustify-items: start;yes
justify-items-endjustify-items: end;yes
justify-items-centerjustify-items: center;yes
justify-items-stretchjustify-items: stretch;yes
place-items-startplace-items: start;yes
place-items-endplace-items: end;yes
place-items-centerplace-items: center;yes
place-items-stretchplace-items: stretch;yes
align-self-autoalign-self: auto;yes
align-self-startalign-self: flex-start;yes
align-self-endalign-self: flex-end;yes
align-self-centeralign-self: center;yes
align-self-baselinealign-self: baseline;yes
align-self-stretchalign-self: stretch;yes
align-content-startalign-content: flex-start;yes
align-content-endalign-content: flex-end;yes
align-content-centeralign-content: center;yes
align-content-betweenalign-content: space-between;yes
align-content-aroundalign-content: space-around;yes
align-content-stretchalign-content: stretch;yes
order-firstorder: -1;yes
order-0order: 0;yes
order-1order: 1;yes
order-2order: 2;yes
order-3order: 3;yes
order-4order: 4;yes
order-5order: 5;yes
order-lastorder: 6;yes
griddisplay: grid; grid-auto-columns: minmax(0, 1fr);yes
cols-1grid-template-columns: repeat(1, minmax(0, 1fr));yes
cols-2grid-template-columns: repeat(2, minmax(0, 1fr));yes
cols-3grid-template-columns: repeat(3, minmax(0, 1fr));yes
cols-4grid-template-columns: repeat(4, minmax(0, 1fr));yes
cols-5grid-template-columns: repeat(5, minmax(0, 1fr));yes
cols-6grid-template-columns: repeat(6, minmax(0, 1fr));yes
cols-7grid-template-columns: repeat(7, minmax(0, 1fr));yes
cols-8grid-template-columns: repeat(8, minmax(0, 1fr));yes
cols-9grid-template-columns: repeat(9, minmax(0, 1fr));yes
cols-10grid-template-columns: repeat(10, minmax(0, 1fr));yes
cols-11grid-template-columns: repeat(11, minmax(0, 1fr));yes
cols-12grid-template-columns: repeat(12, minmax(0, 1fr));yes
cols-min-160grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));yes
cols-min-200grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr));yes
cols-min-240grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));yes
cols-min-280grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr));yes
cols-min-320grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));yes
span-fullgrid-column: 1 / -1;yes
span-1grid-column: span 1 / span 1;yes
span-2grid-column: span 2 / span 2;yes
span-3grid-column: span 3 / span 3;yes
span-4grid-column: span 4 / span 4;yes
span-5grid-column: span 5 / span 5;yes
span-6grid-column: span 6 / span 6;yes
span-7grid-column: span 7 / span 7;yes
span-8grid-column: span 8 / span 8;yes
span-9grid-column: span 9 / span 9;yes
span-10grid-column: span 10 / span 10;yes
span-11grid-column: span 11 / span 11;yes
span-12grid-column: span 12 / span 12;yes
gap-0gap: var(--redz-space-0);yes
gap-2gap: var(--redz-space-2);yes
gap-4gap: var(--redz-space-4);yes
gap-8gap: var(--redz-space-8);yes
gap-12gap: var(--redz-space-12);yes
gap-16gap: var(--redz-space-16);yes
gap-20gap: var(--redz-space-20);yes
gap-24gap: var(--redz-space-24);yes
gap-32gap: var(--redz-space-32);yes
gap-40gap: var(--redz-space-40);yes
gap-48gap: var(--redz-space-48);yes
gap-64gap: var(--redz-space-64);yes
row-gap-0row-gap: var(--redz-space-0);yes
row-gap-2row-gap: var(--redz-space-2);yes
row-gap-4row-gap: var(--redz-space-4);yes
row-gap-8row-gap: var(--redz-space-8);yes
row-gap-12row-gap: var(--redz-space-12);yes
row-gap-16row-gap: var(--redz-space-16);yes
row-gap-20row-gap: var(--redz-space-20);yes
row-gap-24row-gap: var(--redz-space-24);yes
row-gap-32row-gap: var(--redz-space-32);yes
row-gap-40row-gap: var(--redz-space-40);yes
row-gap-48row-gap: var(--redz-space-48);yes
row-gap-64row-gap: var(--redz-space-64);yes
column-gap-0column-gap: var(--redz-space-0);yes
column-gap-2column-gap: var(--redz-space-2);yes
column-gap-4column-gap: var(--redz-space-4);yes
column-gap-8column-gap: var(--redz-space-8);yes
column-gap-12column-gap: var(--redz-space-12);yes
column-gap-16column-gap: var(--redz-space-16);yes
column-gap-20column-gap: var(--redz-space-20);yes
column-gap-24column-gap: var(--redz-space-24);yes
column-gap-32column-gap: var(--redz-space-32);yes
column-gap-40column-gap: var(--redz-space-40);yes
column-gap-48column-gap: var(--redz-space-48);yes
column-gap-64column-gap: var(--redz-space-64);yes
m-automargin: auto;yes
m-0margin: var(--redz-space-0);yes
m-2margin: var(--redz-space-2);yes
m-4margin: var(--redz-space-4);yes
m-8margin: var(--redz-space-8);yes
m-12margin: var(--redz-space-12);yes
m-16margin: var(--redz-space-16);yes
m-20margin: var(--redz-space-20);yes
m-24margin: var(--redz-space-24);yes
m-32margin: var(--redz-space-32);yes
m-40margin: var(--redz-space-40);yes
m-48margin: var(--redz-space-48);yes
m-64margin: var(--redz-space-64);yes
mt-automargin-block-start: auto;yes
mt-0margin-block-start: var(--redz-space-0);yes
mt-2margin-block-start: var(--redz-space-2);yes
mt-4margin-block-start: var(--redz-space-4);yes
mt-8margin-block-start: var(--redz-space-8);yes
mt-12margin-block-start: var(--redz-space-12);yes
mt-16margin-block-start: var(--redz-space-16);yes
mt-20margin-block-start: var(--redz-space-20);yes
mt-24margin-block-start: var(--redz-space-24);yes
mt-32margin-block-start: var(--redz-space-32);yes
mt-40margin-block-start: var(--redz-space-40);yes
mt-48margin-block-start: var(--redz-space-48);yes
mt-64margin-block-start: var(--redz-space-64);yes
mb-automargin-block-end: auto;yes
mb-0margin-block-end: var(--redz-space-0);yes
mb-2margin-block-end: var(--redz-space-2);yes
mb-4margin-block-end: var(--redz-space-4);yes
mb-8margin-block-end: var(--redz-space-8);yes
mb-12margin-block-end: var(--redz-space-12);yes
mb-16margin-block-end: var(--redz-space-16);yes
mb-20margin-block-end: var(--redz-space-20);yes
mb-24margin-block-end: var(--redz-space-24);yes
mb-32margin-block-end: var(--redz-space-32);yes
mb-40margin-block-end: var(--redz-space-40);yes
mb-48margin-block-end: var(--redz-space-48);yes
mb-64margin-block-end: var(--redz-space-64);yes
ms-automargin-inline-start: auto;yes
ms-0margin-inline-start: var(--redz-space-0);yes
ms-2margin-inline-start: var(--redz-space-2);yes
ms-4margin-inline-start: var(--redz-space-4);yes
ms-8margin-inline-start: var(--redz-space-8);yes
ms-12margin-inline-start: var(--redz-space-12);yes
ms-16margin-inline-start: var(--redz-space-16);yes
ms-20margin-inline-start: var(--redz-space-20);yes
ms-24margin-inline-start: var(--redz-space-24);yes
ms-32margin-inline-start: var(--redz-space-32);yes
ms-40margin-inline-start: var(--redz-space-40);yes
ms-48margin-inline-start: var(--redz-space-48);yes
ms-64margin-inline-start: var(--redz-space-64);yes
me-automargin-inline-end: auto;yes
me-0margin-inline-end: var(--redz-space-0);yes
me-2margin-inline-end: var(--redz-space-2);yes
me-4margin-inline-end: var(--redz-space-4);yes
me-8margin-inline-end: var(--redz-space-8);yes
me-12margin-inline-end: var(--redz-space-12);yes
me-16margin-inline-end: var(--redz-space-16);yes
me-20margin-inline-end: var(--redz-space-20);yes
me-24margin-inline-end: var(--redz-space-24);yes
me-32margin-inline-end: var(--redz-space-32);yes
me-40margin-inline-end: var(--redz-space-40);yes
me-48margin-inline-end: var(--redz-space-48);yes
me-64margin-inline-end: var(--redz-space-64);yes
mx-automargin-inline: auto;yes
mx-0margin-inline: var(--redz-space-0);yes
mx-2margin-inline: var(--redz-space-2);yes
mx-4margin-inline: var(--redz-space-4);yes
mx-8margin-inline: var(--redz-space-8);yes
mx-12margin-inline: var(--redz-space-12);yes
mx-16margin-inline: var(--redz-space-16);yes
mx-20margin-inline: var(--redz-space-20);yes
mx-24margin-inline: var(--redz-space-24);yes
mx-32margin-inline: var(--redz-space-32);yes
mx-40margin-inline: var(--redz-space-40);yes
mx-48margin-inline: var(--redz-space-48);yes
mx-64margin-inline: var(--redz-space-64);yes
my-automargin-block: auto;yes
my-0margin-block: var(--redz-space-0);yes
my-2margin-block: var(--redz-space-2);yes
my-4margin-block: var(--redz-space-4);yes
my-8margin-block: var(--redz-space-8);yes
my-12margin-block: var(--redz-space-12);yes
my-16margin-block: var(--redz-space-16);yes
my-20margin-block: var(--redz-space-20);yes
my-24margin-block: var(--redz-space-24);yes
my-32margin-block: var(--redz-space-32);yes
my-40margin-block: var(--redz-space-40);yes
my-48margin-block: var(--redz-space-48);yes
my-64margin-block: var(--redz-space-64);yes
p-0padding: var(--redz-space-0);yes
p-2padding: var(--redz-space-2);yes
p-4padding: var(--redz-space-4);yes
p-8padding: var(--redz-space-8);yes
p-12padding: var(--redz-space-12);yes
p-16padding: var(--redz-space-16);yes
p-20padding: var(--redz-space-20);yes
p-24padding: var(--redz-space-24);yes
p-32padding: var(--redz-space-32);yes
p-40padding: var(--redz-space-40);yes
p-48padding: var(--redz-space-48);yes
p-64padding: var(--redz-space-64);yes
pt-0padding-block-start: var(--redz-space-0);yes
pt-2padding-block-start: var(--redz-space-2);yes
pt-4padding-block-start: var(--redz-space-4);yes
pt-8padding-block-start: var(--redz-space-8);yes
pt-12padding-block-start: var(--redz-space-12);yes
pt-16padding-block-start: var(--redz-space-16);yes
pt-20padding-block-start: var(--redz-space-20);yes
pt-24padding-block-start: var(--redz-space-24);yes
pt-32padding-block-start: var(--redz-space-32);yes
pt-40padding-block-start: var(--redz-space-40);yes
pt-48padding-block-start: var(--redz-space-48);yes
pt-64padding-block-start: var(--redz-space-64);yes
pb-0padding-block-end: var(--redz-space-0);yes
pb-2padding-block-end: var(--redz-space-2);yes
pb-4padding-block-end: var(--redz-space-4);yes
pb-8padding-block-end: var(--redz-space-8);yes
pb-12padding-block-end: var(--redz-space-12);yes
pb-16padding-block-end: var(--redz-space-16);yes
pb-20padding-block-end: var(--redz-space-20);yes
pb-24padding-block-end: var(--redz-space-24);yes
pb-32padding-block-end: var(--redz-space-32);yes
pb-40padding-block-end: var(--redz-space-40);yes
pb-48padding-block-end: var(--redz-space-48);yes
pb-64padding-block-end: var(--redz-space-64);yes
ps-0padding-inline-start: var(--redz-space-0);yes
ps-2padding-inline-start: var(--redz-space-2);yes
ps-4padding-inline-start: var(--redz-space-4);yes
ps-8padding-inline-start: var(--redz-space-8);yes
ps-12padding-inline-start: var(--redz-space-12);yes
ps-16padding-inline-start: var(--redz-space-16);yes
ps-20padding-inline-start: var(--redz-space-20);yes
ps-24padding-inline-start: var(--redz-space-24);yes
ps-32padding-inline-start: var(--redz-space-32);yes
ps-40padding-inline-start: var(--redz-space-40);yes
ps-48padding-inline-start: var(--redz-space-48);yes
ps-64padding-inline-start: var(--redz-space-64);yes
pe-0padding-inline-end: var(--redz-space-0);yes
pe-2padding-inline-end: var(--redz-space-2);yes
pe-4padding-inline-end: var(--redz-space-4);yes
pe-8padding-inline-end: var(--redz-space-8);yes
pe-12padding-inline-end: var(--redz-space-12);yes
pe-16padding-inline-end: var(--redz-space-16);yes
pe-20padding-inline-end: var(--redz-space-20);yes
pe-24padding-inline-end: var(--redz-space-24);yes
pe-32padding-inline-end: var(--redz-space-32);yes
pe-40padding-inline-end: var(--redz-space-40);yes
pe-48padding-inline-end: var(--redz-space-48);yes
pe-64padding-inline-end: var(--redz-space-64);yes
px-0padding-inline: var(--redz-space-0);yes
px-2padding-inline: var(--redz-space-2);yes
px-4padding-inline: var(--redz-space-4);yes
px-8padding-inline: var(--redz-space-8);yes
px-12padding-inline: var(--redz-space-12);yes
px-16padding-inline: var(--redz-space-16);yes
px-20padding-inline: var(--redz-space-20);yes
px-24padding-inline: var(--redz-space-24);yes
px-32padding-inline: var(--redz-space-32);yes
px-40padding-inline: var(--redz-space-40);yes
px-48padding-inline: var(--redz-space-48);yes
px-64padding-inline: var(--redz-space-64);yes
py-0padding-block: var(--redz-space-0);yes
py-2padding-block: var(--redz-space-2);yes
py-4padding-block: var(--redz-space-4);yes
py-8padding-block: var(--redz-space-8);yes
py-12padding-block: var(--redz-space-12);yes
py-16padding-block: var(--redz-space-16);yes
py-20padding-block: var(--redz-space-20);yes
py-24padding-block: var(--redz-space-24);yes
py-32padding-block: var(--redz-space-32);yes
py-40padding-block: var(--redz-space-40);yes
py-48padding-block: var(--redz-space-48);yes
py-64padding-block: var(--redz-space-64);yes
text-starttext-align: start;yes
text-endtext-align: end;yes
text-centertext-align: center;yes
fs-11font-size: var(--redz-fs-11);-
fs-12font-size: var(--redz-fs-12);-
fs-14font-size: var(--redz-fs-14);-
fs-16font-size: var(--redz-fs-16);-
fs-18font-size: var(--redz-fs-18);-
fs-20font-size: var(--redz-fs-20);-
fs-24font-size: var(--redz-fs-24);-
fs-32font-size: var(--redz-fs-32);-
fs-40font-size: var(--redz-fs-40);-
fs-48font-size: var(--redz-fs-48);-
fw-400font-weight: 400;-
fw-500font-weight: 500;-
fw-600font-weight: 600;-
fw-700font-weight: 700;-
lh-16line-height: var(--redz-lh-16);-
lh-20line-height: var(--redz-lh-20);-
lh-24line-height: var(--redz-lh-24);-
lh-28line-height: var(--redz-lh-28);-
fst-italicfont-style: italic;-
fst-normalfont-style: normal;-
font-monospacefont-family: var(--redz-font-mono);-
tabular-numsfont-variant-numeric: tabular-nums;-
text-decoration-nonetext-decoration: none;-
text-decoration-underlinetext-decoration: underline;-
text-decoration-line-throughtext-decoration: line-through;-
text-lowercasetext-transform: lowercase;-
text-uppercasetext-transform: uppercase;-
text-capitalizetext-transform: capitalize;-
text-wrapwhite-space: normal;-
text-nowrapwhite-space: nowrap;-
text-pre-wrapwhite-space: pre-wrap;-
tracking-wideletter-spacing: 0.06em;-
line-clamp-2display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;-
line-clamp-3display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;-
text-breakoverflow-wrap: anywhere;-
text-truncateoverflow: hidden; text-overflow: ellipsis; white-space: nowrap;-
text-bodycolor: var(--redz-text);-
text-mutedcolor: var(--redz-text-muted);-
text-faintcolor: var(--redz-text-faint);-
text-resetcolor: inherit;-
text-primarycolor: var(--redz-primary);-
text-secondarycolor: var(--redz-secondary);-
text-successcolor: var(--redz-success);-
text-dangercolor: var(--redz-danger);-
text-warningcolor: var(--redz-warning);-
text-infocolor: var(--redz-info);-
text-primary-contrastcolor: var(--redz-primary-contrast);-
text-secondary-contrastcolor: var(--redz-secondary-contrast);-
text-success-contrastcolor: var(--redz-success-contrast);-
text-danger-contrastcolor: var(--redz-danger-contrast);-
text-warning-contrastcolor: var(--redz-warning-contrast);-
text-info-contrastcolor: var(--redz-info-contrast);-
list-unstyledpadding-inline-start: 0; list-style: none;-
bg-bodybackground-color: var(--redz-bg);-
bg-pagebackground-color: var(--redz-bg-page);-
bg-raisedbackground-color: var(--redz-bg-raised);-
bg-transparentbackground-color: transparent;-
bg-primarybackground-color: var(--redz-primary);-
bg-secondarybackground-color: var(--redz-secondary);-
bg-successbackground-color: var(--redz-success);-
bg-dangerbackground-color: var(--redz-danger);-
bg-warningbackground-color: var(--redz-warning);-
bg-infobackground-color: var(--redz-info);-
bg-primary-subtlebackground-color: var(--redz-primary-subtle);-
bg-secondary-subtlebackground-color: var(--redz-secondary-subtle);-
bg-success-subtlebackground-color: var(--redz-success-subtle);-
bg-danger-subtlebackground-color: var(--redz-danger-subtle);-
bg-warning-subtlebackground-color: var(--redz-warning-subtle);-
bg-info-subtlebackground-color: var(--redz-info-subtle);-
borderborder: 1px solid var(--redz-border);-
border-topborder-block-start: 1px solid var(--redz-border);-
border-bottomborder-block-end: 1px solid var(--redz-border);-
border-startborder-inline-start: 1px solid var(--redz-border);-
border-endborder-inline-end: 1px solid var(--redz-border);-
border-0border-width: 0;-
border-1border-width: 1px;-
border-2border-width: 2px;-
border-4border-width: 4px;-
border-strongborder-color: var(--redz-border-strong);-
border-primaryborder-color: var(--redz-primary);-
border-secondaryborder-color: var(--redz-secondary);-
border-successborder-color: var(--redz-success);-
border-dangerborder-color: var(--redz-danger);-
border-warningborder-color: var(--redz-warning);-
border-infoborder-color: var(--redz-info);-
border-primary-subtleborder-color: color-mix(in oklch, var(--redz-primary) 35%, var(--redz-border));-
border-secondary-subtleborder-color: color-mix(in oklch, var(--redz-secondary) 35%, var(--redz-border));-
border-success-subtleborder-color: color-mix(in oklch, var(--redz-success) 35%, var(--redz-border));-
border-danger-subtleborder-color: color-mix(in oklch, var(--redz-danger) 35%, var(--redz-border));-
border-warning-subtleborder-color: color-mix(in oklch, var(--redz-warning) 35%, var(--redz-border));-
border-info-subtleborder-color: color-mix(in oklch, var(--redz-info) 35%, var(--redz-border));-
edge-top-colorborder-block-start: 3px solid var(--redz-color);-
edge-top-primaryborder-block-start: 3px solid var(--redz-primary);-
edge-top-secondaryborder-block-start: 3px solid var(--redz-secondary);-
edge-top-successborder-block-start: 3px solid var(--redz-success);-
edge-top-dangerborder-block-start: 3px solid var(--redz-danger);-
edge-top-warningborder-block-start: 3px solid var(--redz-warning);-
edge-top-infoborder-block-start: 3px solid var(--redz-info);-
edge-start-colorborder-inline-start: 3px solid var(--redz-color);-
edge-start-primaryborder-inline-start: 3px solid var(--redz-primary);-
edge-start-secondaryborder-inline-start: 3px solid var(--redz-secondary);-
edge-start-successborder-inline-start: 3px solid var(--redz-success);-
edge-start-dangerborder-inline-start: 3px solid var(--redz-danger);-
edge-start-warningborder-inline-start: 3px solid var(--redz-warning);-
edge-start-infoborder-inline-start: 3px solid var(--redz-info);-
edge-top-chart-1border-block-start: 3px solid var(--redz-chart-1);-
edge-top-chart-2border-block-start: 3px solid var(--redz-chart-2);-
edge-top-chart-3border-block-start: 3px solid var(--redz-chart-3);-
edge-top-chart-4border-block-start: 3px solid var(--redz-chart-4);-
edge-top-chart-5border-block-start: 3px solid var(--redz-chart-5);-
edge-top-chart-6border-block-start: 3px solid var(--redz-chart-6);-
edge-top-chart-7border-block-start: 3px solid var(--redz-chart-7);-
edge-top-chart-8border-block-start: 3px solid var(--redz-chart-8);-
edge-start-chart-1border-inline-start: 3px solid var(--redz-chart-1);-
edge-start-chart-2border-inline-start: 3px solid var(--redz-chart-2);-
edge-start-chart-3border-inline-start: 3px solid var(--redz-chart-3);-
edge-start-chart-4border-inline-start: 3px solid var(--redz-chart-4);-
edge-start-chart-5border-inline-start: 3px solid var(--redz-chart-5);-
edge-start-chart-6border-inline-start: 3px solid var(--redz-chart-6);-
edge-start-chart-7border-inline-start: 3px solid var(--redz-chart-7);-
edge-start-chart-8border-inline-start: 3px solid var(--redz-chart-8);-
roundedborder-radius: var(--redz-radius-8);-
rounded-fullborder-radius: 999px;-
rounded-0border-radius: var(--redz-radius-0);-
rounded-4border-radius: var(--redz-radius-4);-
rounded-6border-radius: var(--redz-radius-6);-
rounded-8border-radius: var(--redz-radius-8);-
rounded-12border-radius: var(--redz-radius-12);-
rounded-16border-radius: var(--redz-radius-16);-
rounded-topborder-start-start-radius: var(--redz-radius-8); border-start-end-radius: var(--redz-radius-8);-
rounded-endborder-start-end-radius: var(--redz-radius-8); border-end-end-radius: var(--redz-radius-8);-
rounded-bottomborder-end-start-radius: var(--redz-radius-8); border-end-end-radius: var(--redz-radius-8);-
rounded-startborder-start-start-radius: var(--redz-radius-8); border-end-start-radius: var(--redz-radius-8);-
shadow-1box-shadow: var(--redz-shadow-1);-
shadow-2box-shadow: var(--redz-shadow-2);-
shadow-3box-shadow: var(--redz-shadow-3);-
shadow-nonebox-shadow: none;-
w-25inline-size: 25%;-
w-50inline-size: 50%;-
w-75inline-size: 75%;-
w-100inline-size: 100%;-
w-autoinline-size: auto;-
w-56inline-size: 3.5rem;-
w-64inline-size: 4rem;-
w-80inline-size: 5rem;-
w-96inline-size: 6rem;-
w-120inline-size: 7.5rem;-
w-160inline-size: 10rem;-
h-25block-size: 25%;-
h-50block-size: 50%;-
h-75block-size: 75%;-
h-100block-size: 100%;-
h-autoblock-size: auto;-
h-32block-size: 2rem;-
h-40block-size: 2.5rem;-
h-72block-size: 4.5rem;-
size-32inline-size: 2rem; block-size: 2rem;-
size-48inline-size: 3rem; block-size: 3rem;-
size-64inline-size: 4rem; block-size: 4rem;-
size-80inline-size: 5rem; block-size: 5rem;-
max-w-80max-inline-size: 5rem;-
max-w-120max-inline-size: 7.5rem;-
max-w-160max-inline-size: 10rem;-
max-w-240max-inline-size: 15rem;-
max-w-320max-inline-size: 20rem;-
max-w-360max-inline-size: 22.5rem;-
max-w-480max-inline-size: 30rem;-
max-w-560max-inline-size: 35rem;-
max-w-640max-inline-size: 40rem;-
max-w-768max-inline-size: 48rem;-
max-w-960max-inline-size: 60rem;-
max-w-1200max-inline-size: 75rem;-
max-h-160max-block-size: 10rem;-
max-h-240max-block-size: 15rem;-
max-h-320max-block-size: 20rem;-
max-h-400max-block-size: 25rem;-
max-h-480max-block-size: 30rem;-
max-h-560max-block-size: 35rem;-
max-h-640max-block-size: 40rem;-
min-w-0min-inline-size: 0;-
min-w-56min-inline-size: 3.5rem;-
min-w-120min-inline-size: 7.5rem;-
min-w-160min-inline-size: 10rem;-
min-w-200min-inline-size: 12.5rem;-
min-w-240min-inline-size: 15rem;-
min-w-288min-inline-size: 18rem;-
vw-100inline-size: 100vw;-
min-vw-100min-inline-size: 100vw;-
vh-100block-size: 100dvh;-
min-vh-100min-block-size: 100dvh;-
opacity-0opacity: 0;-
opacity-25opacity: 0.25;-
opacity-50opacity: 0.5;-
opacity-75opacity: 0.75;-
opacity-100opacity: 1;-
position-staticposition: static;-
position-relativeposition: relative;-
position-absoluteposition: absolute;-
position-fixedposition: fixed;-
position-stickyposition: sticky;-
top-0inset-block-start: 0;-
top-50inset-block-start: 50%;-
top-100inset-block-start: 100%;-
bottom-0inset-block-end: 0;-
bottom-50inset-block-end: 50%;-
bottom-100inset-block-end: 100%;-
start-0inset-inline-start: 0;-
start-50inset-inline-start: 50%;-
start-100inset-inline-start: 100%;-
end-0inset-inline-end: 0;-
end-50inset-inline-end: 50%;-
end-100inset-inline-end: 100%;-
translate-middletranslate: -50% -50%;-
translate-middle:dir(rtl)translate: 50% -50%;-
translate-middle-xtranslate: -50% 0;-
translate-middle-x:dir(rtl)translate: 50% 0;-
translate-middle-ytranslate: 0 -50%;-
z-n1z-index: -1;-
z-0z-index: 0;-
z-1z-index: 1;-
z-2z-index: 2;-
z-3z-index: 3;-
float-startfloat: inline-start;yes
float-endfloat: inline-end;yes
float-nonefloat: none;yes
overflow-autooverflow: auto;-
overflow-hiddenoverflow: hidden;-
overflow-visibleoverflow: visible;-
overflow-scrolloverflow: scroll;-
overflow-x-autooverflow-x: auto;-
overflow-x-hiddenoverflow-x: hidden;-
overflow-x-visibleoverflow-x: visible;-
overflow-x-scrolloverflow-x: scroll;-
overflow-y-autooverflow-y: auto;-
overflow-y-hiddenoverflow-y: hidden;-
overflow-y-visibleoverflow-y: visible;-
overflow-y-scrolloverflow-y: scroll;-
align-baselinevertical-align: baseline;-
align-topvertical-align: top;-
align-middlevertical-align: middle;-
align-bottomvertical-align: bottom;-
align-text-topvertical-align: text-top;-
align-text-bottomvertical-align: text-bottom;-
object-fit-containobject-fit: contain;-
object-fit-coverobject-fit: cover;-
object-fit-fillobject-fit: fill;-
object-fit-noneobject-fit: none;-
ratio-1x1aspect-ratio: 1 / 1;-
ratio-4x3aspect-ratio: 4 / 3;-
ratio-16x9aspect-ratio: 16 / 9;-
ratio-21x9aspect-ratio: 21 / 9;-
ratio-1.91x1aspect-ratio: 1.91 / 1;-
ratio-autoaspect-ratio: auto;-
visiblevisibility: visible;-
invisiblevisibility: hidden;-
user-select-none-webkit-user-select: none; user-select: none;-
user-select-all-webkit-user-select: all; user-select: all;-
user-select-auto-webkit-user-select: auto; user-select: auto;-
pe-nonepointer-events: none;-
pe-autopointer-events: auto;-
visually-hiddenposition: absolute; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;-
sticky-topposition: sticky; inset-block-start: var(--redz-sticky-top, 0); z-index: 5;-
flashanimation: flash 1.2s ease-out;-
offscreenposition: absolute; inset-block-start: 0; inset-inline-start: -100vw; inline-size: 1px; block-size: 1px; overflow: hidden;-
stretched-link::aftercontent: ""; position: absolute; inset: 0; z-index: 1;-
vrdisplay: inline-block; align-self: stretch; inline-size: 1px; min-block-size: 1em; background: var(--redz-border-strong);-
icon-linkdisplay: inline-flex; align-items: center; gap: 0.375em; text-underline-offset: 0.2em;-
flip-rtl:dir(rtl)scale: -1 1;-
d-nonedisplay: none;yes

From Bootstrap 5.3

Bootstrap 5.3REDZ.UIChangeNote
bg-black-reviewbg-body, bg-page, bg-raised or a tone
bg-body-secondarybg-pagerename
bg-body-tertiarybg-raisedrename
bg-dark-reviewbg-body, bg-page, bg-raised or a tone
bg-dark-subtle-reviewbg-page, or a tone's -subtle
bg-gradient-removeno gradients
bg-light-reviewbg-body, bg-page, bg-raised or a tone
bg-light-subtle-reviewbg-page, or a tone's -subtle
bg-opacity-10-reviewBootstrap 6 dropped it too: bg-{tone}-subtle
bg-opacity-100-reviewBootstrap 6 dropped it too: bg-{tone}-subtle
bg-opacity-25-reviewBootstrap 6 dropped it too: bg-{tone}-subtle
bg-opacity-50-reviewBootstrap 6 dropped it too: bg-{tone}-subtle
bg-opacity-75-reviewBootstrap 6 dropped it too: bg-{tone}-subtle
bg-white-reviewbg-body, bg-page, bg-raised or a tone
blockquote-missing
blockquote-footer-missing
border-3-reviewthe widths are 1, 2 and 4 px
border-5-reviewthe widths are 1, 2 and 4 px
border-black-reviewborder-strong, or a tone
border-bottom-0-missingdraw only the sides you need: border-top and the others
border-dark-reviewborder-strong, or a tone
border-dark-subtle-reviewborder, or border-strong
border-end-0-missingdraw only the sides you need: border-top and the others
border-light-reviewborder-strong, or a tone
border-light-subtle-reviewborder, or border-strong
border-opacity-10-missing
border-opacity-100-missing
border-opacity-25-missing
border-opacity-50-missing
border-opacity-75-missing
border-start-0-missingdraw only the sides you need: border-top and the others
border-top-0-missingdraw only the sides you need: border-top and the others
border-white-reviewborder-strong, or a tone
clearfix-removeno floats
column-gap-1column-gap-4valuethe number is the pixels
column-gap-2column-gap-8valuereused: column-gap-2 means another thing in REDZ.UI; the number is the pixels
column-gap-3column-gap-16valuethe number is the pixels
column-gap-4column-gap-24valuereused: column-gap-4 means another thing in REDZ.UI; the number is the pixels
column-gap-5column-gap-48valuethe number is the pixels
display-1fs-32reviewthe largest size here
display-2fs-32reviewthe largest size here
display-3fs-32reviewthe largest size here
display-4fs-32reviewthe largest size here
display-5fs-32reviewthe largest size here
display-6fs-32reviewthe largest size here
figure-missing
figure-caption-missing
figure-img-missing
fixed-bottom-reviewposition-fixed with top-0 or bottom-0, start-0 and end-0
fixed-top-reviewposition-fixed with top-0 or bottom-0, start-0 and end-0
focus-ring-removethe focus ring is built in, 3:1 in both themes
focus-ring-danger-removethe focus ring is built in, 3:1 in both themes
focus-ring-dark-removethe focus ring is built in, 3:1 in both themes
focus-ring-info-removethe focus ring is built in, 3:1 in both themes
focus-ring-light-removethe focus ring is built in, 3:1 in both themes
focus-ring-primary-removethe focus ring is built in, 3:1 in both themes
focus-ring-secondary-removethe focus ring is built in, 3:1 in both themes
focus-ring-success-removethe focus ring is built in, 3:1 in both themes
focus-ring-warning-removethe focus ring is built in, 3:1 in both themes
fs-1fs-32value40 px in Bootstrap; 32 is the largest here
fs-2fs-32value32 px
fs-3fs-24value28 px in Bootstrap
fs-4fs-24value24 px
fs-5fs-20value20 px
fs-6fs-16value16 px
fw-boldfw-700rename
fw-bolder-reviewthe weights are 400, 500, 600 and 700
fw-light-reviewthe weights are 400, 500, 600 and 700
fw-lighter-reviewthe weights are 400, 500, 600 and 700
fw-mediumfw-500rename
fw-normalfw-400rename
fw-semiboldfw-600rename
gap-1gap-4valuethe number is the pixels
gap-2gap-8valuereused: gap-2 means another thing in REDZ.UI; the number is the pixels
gap-3gap-16valuethe number is the pixels
gap-4gap-24valuereused: gap-4 means another thing in REDZ.UI; the number is the pixels
gap-5gap-48valuethe number is the pixels
h1-reviewthe h1-h4 sizes are the elements'; fs-* for another
h2-reviewthe h1-h4 sizes are the elements'; fs-* for another
h3-reviewthe h1-h4 sizes are the elements'; fs-* for another
h4-reviewthe h1-h4 sizes are the elements'; fs-* for another
h5-reviewthe h1-h4 sizes are the elements'; fs-* for another
h6-reviewthe h1-h4 sizes are the elements'; fs-* for another
icon-link-hover-removethe icon does not move on hover
img-fluid-reviewimages never overflow their box here; w-100 to fill it
img-thumbnail-missing
initialism-missing
leadfs-16 text-mutedreviewa lead paragraph
lh-1-reviewline heights are px here: lh-16, lh-20, lh-24, lh-28
lh-base-reviewline heights are px here: lh-16, lh-20, lh-24, lh-28
link-body-emphasis-reviewa link is the accent; text-* for a tone
link-danger-reviewa link is the accent; text-* for a tone
link-dark-reviewa link is the accent; text-* for a tone
link-info-reviewa link is the accent; text-* for a tone
link-light-reviewa link is the accent; text-* for a tone
link-offset-1-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-offset-1-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-offset-2-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-offset-2-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-offset-3-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-offset-3-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-10-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-10-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-100-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-100-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-25-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-25-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-50-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-50-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-75-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-opacity-75-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-primary-reviewa link is the accent; text-* for a tone
link-secondary-reviewa link is the accent; text-* for a tone
link-success-reviewa link is the accent; text-* for a tone
link-underline-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-danger-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-dark-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-info-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-light-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-0-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-0-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-10-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-10-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-100-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-100-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-25-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-25-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-50-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-50-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-75-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-opacity-75-hover-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-primary-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-secondary-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-success-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-underline-warning-reviewBootstrap 6 dropped them too: text-decoration-underline or -none on the link
link-warning-reviewa link is the accent; text-* for a tone
list-inline-reviewhstack flex-wrap
list-inline-item-reviewhstack flex-wrap
m-1m-4valuethe number is the pixels
m-2m-8valuereused: m-2 means another thing in REDZ.UI; the number is the pixels
m-3m-16valuethe number is the pixels
m-4m-24valuereused: m-4 means another thing in REDZ.UI; the number is the pixels
m-5m-48valuethe number is the pixels
mark-missing
mb-1mb-4valuethe number is the pixels
mb-2mb-8valuereused: mb-2 means another thing in REDZ.UI; the number is the pixels
mb-3mb-16valuethe number is the pixels
mb-4mb-24valuereused: mb-4 means another thing in REDZ.UI; the number is the pixels
mb-5mb-48valuethe number is the pixels
me-1me-4valuethe number is the pixels
me-2me-8valuereused: me-2 means another thing in REDZ.UI; the number is the pixels
me-3me-16valuethe number is the pixels
me-4me-24valuereused: me-4 means another thing in REDZ.UI; the number is the pixels
me-5me-48valuethe number is the pixels
mh-100-missing
ms-1ms-4valuethe number is the pixels
ms-2ms-8valuereused: ms-2 means another thing in REDZ.UI; the number is the pixels
ms-3ms-16valuethe number is the pixels
ms-4ms-24valuereused: ms-4 means another thing in REDZ.UI; the number is the pixels
ms-5ms-48valuethe number is the pixels
mt-1mt-4valuethe number is the pixels
mt-2mt-8valuereused: mt-2 means another thing in REDZ.UI; the number is the pixels
mt-3mt-16valuethe number is the pixels
mt-4mt-24valuereused: mt-4 means another thing in REDZ.UI; the number is the pixels
mt-5mt-48valuethe number is the pixels
mw-100-reviewmax-w-* by px
mx-1mx-4valuethe number is the pixels
mx-2mx-8valuereused: mx-2 means another thing in REDZ.UI; the number is the pixels
mx-3mx-16valuethe number is the pixels
mx-4mx-24valuereused: mx-4 means another thing in REDZ.UI; the number is the pixels
mx-5mx-48valuethe number is the pixels
my-1my-4valuethe number is the pixels
my-2my-8valuereused: my-2 means another thing in REDZ.UI; the number is the pixels
my-3my-16valuethe number is the pixels
my-4my-24valuereused: my-4 means another thing in REDZ.UI; the number is the pixels
my-5my-48valuethe number is the pixels
object-fit-scale-reviewobject-fit-contain is the nearest
p-1p-4valuethe number is the pixels
p-2p-8valuereused: p-2 means another thing in REDZ.UI; the number is the pixels
p-3p-16valuethe number is the pixels
p-4p-24valuereused: p-4 means another thing in REDZ.UI; the number is the pixels
p-5p-48valuethe number is the pixels
pb-1pb-4valuethe number is the pixels
pb-2pb-8valuereused: pb-2 means another thing in REDZ.UI; the number is the pixels
pb-3pb-16valuethe number is the pixels
pb-4pb-24valuereused: pb-4 means another thing in REDZ.UI; the number is the pixels
pb-5pb-48valuethe number is the pixels
pe-1pe-4valuethe number is the pixels
pe-2pe-8valuereused: pe-2 means another thing in REDZ.UI; the number is the pixels
pe-3pe-16valuethe number is the pixels
pe-4pe-24valuereused: pe-4 means another thing in REDZ.UI; the number is the pixels
pe-5pe-48valuethe number is the pixels
ps-1ps-4valuethe number is the pixels
ps-2ps-8valuereused: ps-2 means another thing in REDZ.UI; the number is the pixels
ps-3ps-16valuethe number is the pixels
ps-4ps-24valuereused: ps-4 means another thing in REDZ.UI; the number is the pixels
ps-5ps-48valuethe number is the pixels
pt-1pt-4valuethe number is the pixels
pt-2pt-8valuereused: pt-2 means another thing in REDZ.UI; the number is the pixels
pt-3pt-16valuethe number is the pixels
pt-4pt-24valuereused: pt-4 means another thing in REDZ.UI; the number is the pixels
pt-5pt-48valuethe number is the pixels
px-1px-4valuethe number is the pixels
px-2px-8valuereused: px-2 means another thing in REDZ.UI; the number is the pixels
px-3px-16valuethe number is the pixels
px-4px-24valuereused: px-4 means another thing in REDZ.UI; the number is the pixels
px-5px-48valuethe number is the pixels
py-1py-4valuethe number is the pixels
py-2py-8valuereused: py-2 means another thing in REDZ.UI; the number is the pixels
py-3py-16valuethe number is the pixels
py-4py-24valuereused: py-4 means another thing in REDZ.UI; the number is the pixels
py-5py-48valuethe number is the pixels
ratio-removethe ratio goes on the element itself; an image inside a frame fills it with w-100 h-100 object-fit-cover
rounded-1rounded-4value4 px
rounded-2rounded-6value6 px
rounded-3rounded-8value8 px
rounded-4rounded-16valuereused: rounded-4 means another thing in REDZ.UI; 16 px
rounded-5-review32 px in Bootstrap: rounded-16 or rounded-full
rounded-bottom-0rounded-bottomreviewa side takes the 8 px radius
rounded-bottom-1rounded-bottomreviewa side takes the 8 px radius
rounded-bottom-2rounded-bottomreviewa side takes the 8 px radius
rounded-bottom-3rounded-bottomreviewa side takes the 8 px radius
rounded-bottom-4rounded-bottomreviewa side takes the 8 px radius
rounded-bottom-5rounded-bottomreviewa side takes the 8 px radius
rounded-bottom-circlerounded-bottomreviewa side takes the 8 px radius
rounded-bottom-pillrounded-bottomreviewa side takes the 8 px radius
rounded-circlerounded-fullrename
rounded-end-0rounded-endreviewa side takes the 8 px radius
rounded-end-1rounded-endreviewa side takes the 8 px radius
rounded-end-2rounded-endreviewa side takes the 8 px radius
rounded-end-3rounded-endreviewa side takes the 8 px radius
rounded-end-4rounded-endreviewa side takes the 8 px radius
rounded-end-5rounded-endreviewa side takes the 8 px radius
rounded-end-circlerounded-endreviewa side takes the 8 px radius
rounded-end-pillrounded-endreviewa side takes the 8 px radius
rounded-pillrounded-fullrename
rounded-start-0rounded-startreviewa side takes the 8 px radius
rounded-start-1rounded-startreviewa side takes the 8 px radius
rounded-start-2rounded-startreviewa side takes the 8 px radius
rounded-start-3rounded-startreviewa side takes the 8 px radius
rounded-start-4rounded-startreviewa side takes the 8 px radius
rounded-start-5rounded-startreviewa side takes the 8 px radius
rounded-start-circlerounded-startreviewa side takes the 8 px radius
rounded-start-pillrounded-startreviewa side takes the 8 px radius
rounded-top-0rounded-topreviewa side takes the 8 px radius
rounded-top-1rounded-topreviewa side takes the 8 px radius
rounded-top-2rounded-topreviewa side takes the 8 px radius
rounded-top-3rounded-topreviewa side takes the 8 px radius
rounded-top-4rounded-topreviewa side takes the 8 px radius
rounded-top-5rounded-topreviewa side takes the 8 px radius
rounded-top-circlerounded-topreviewa side takes the 8 px radius
rounded-top-pillrounded-topreviewa side takes the 8 px radius
row-gap-1row-gap-4valuethe number is the pixels
row-gap-2row-gap-8valuereused: row-gap-2 means another thing in REDZ.UI; the number is the pixels
row-gap-3row-gap-16valuethe number is the pixels
row-gap-4row-gap-24valuereused: row-gap-4 means another thing in REDZ.UI; the number is the pixels
row-gap-5row-gap-48valuethe number is the pixels
shadowshadow-2rename
small-reviewfs-12, or the <small> element
sticky-bottom-reviewposition-sticky with bottom-0
text-black-reviewno white, black, light or dark: text-body, text-muted or a tone; on bg-TONE, text-TONE-contrast
text-black-50-reviewno white, black, light or dark: text-body, text-muted or a tone; on bg-TONE, text-TONE-contrast
text-body-emphasistext-bodyrename
text-body-secondarytext-mutedrename
text-body-tertiarytext-faintrename
text-danger-emphasistext-dangerrenamea tone's text color is already its emphasis
text-dark-reviewno white, black, light or dark: text-body, text-muted or a tone; on bg-TONE, text-TONE-contrast
text-dark-emphasistext-bodyreviewno light or dark: the text color
text-info-emphasistext-inforenamea tone's text color is already its emphasis
text-light-reviewno white, black, light or dark: text-body, text-muted or a tone; on bg-TONE, text-TONE-contrast
text-light-emphasistext-bodyreviewno light or dark: the text color
text-opacity-100-reviewBootstrap 6 dropped it too: text-muted or text-faint
text-opacity-25-reviewBootstrap 6 dropped it too: text-muted or text-faint
text-opacity-50-reviewBootstrap 6 dropped it too: text-muted or text-faint
text-opacity-75-reviewBootstrap 6 dropped it too: text-muted or text-faint
text-primary-emphasistext-primaryrenamea tone's text color is already its emphasis
text-secondary-emphasistext-secondaryrenamea tone's text color is already its emphasis
text-success-emphasistext-successrenamea tone's text color is already its emphasis
text-warning-emphasistext-warningrenamea tone's text color is already its emphasis
text-white-reviewno white, black, light or dark: text-body, text-muted or a tone; on bg-TONE, text-TONE-contrast
text-white-50-reviewno white, black, light or dark: text-body, text-muted or a tone; on bg-TONE, text-TONE-contrast
--bs-aspect-ratio-reviewratio-* for the ratio; the property itself for the rest
--bs-bg-opacity-reviewa relative color or color-mix in place of the opacity
--bs-border-opacity-reviewa relative color or color-mix in place of the opacity
--bs-danger-border-subtle-reviewcolor-mix(in oklch, var(--redz-danger) 35%, var(--redz-border)), as border-danger-subtle draws it
--bs-info-border-subtle-reviewcolor-mix(in oklch, var(--redz-info) 35%, var(--redz-border)), as border-info-subtle draws it
--bs-position-reviewratio-* for the ratio; the property itself for the rest
--bs-primary-border-subtle-reviewcolor-mix(in oklch, var(--redz-primary) 35%, var(--redz-border)), as border-primary-subtle draws it
--bs-secondary-border-subtle-reviewcolor-mix(in oklch, var(--redz-secondary) 35%, var(--redz-border)), as border-secondary-subtle draws it
--bs-success-border-subtle-reviewcolor-mix(in oklch, var(--redz-success) 35%, var(--redz-border)), as border-success-subtle draws it
--bs-text-opacity-reviewa relative color or color-mix in place of the opacity
--bs-warning-border-subtle-reviewcolor-mix(in oklch, var(--redz-warning) 35%, var(--redz-border)), as border-warning-subtle draws it