Flexbox
Flex container and item utilities. Responsive coverage looks uniform at a glance but genuinely isn't — a few classes are quiet exceptions, called out below rather than left for you to discover the hard way.
Direction & wrap
flex-row, flex-column, flex-wrap, flex-nowrap, plus the reverse pair flex-row-reverse/flex-column-reverse — all six responsive:
flex-wrap-reverse is the odd one out — no responsive form
flex-wrap-reverse exists as a base class, but it's registered separately from its five siblings above and never entered into the responsive-variant loop. flex-md-wrap-reverse doesn't exist, even though every other wrap/direction class in this section does have that form.Grow & shrink
flex-fill, flex-grow-0/flex-grow-1, flex-shrink-0/flex-shrink-1 — none of these five have a responsive form at all, unlike the direction/wrap classes above. flex-md-grow-1 doesn't exist.
Justify content
Responsive at every breakpoint:
Align items
Responsive at every breakpoint:
Align content
Controls spacing between wrapped rows/columns — only meaningful with flex-wrap and more than one row of content. No responsive variants exist for this group, unlike align-items/ align-self/justify-content next to it:
Align self
Responsive at every breakpoint:
Order
A full numeric scale, order-0 through order-5, plus order-first and order-last — all responsive. Neither of the named pair is a special CSS keyword: order-first is just order: -1 (one below the lowest named value), and order-last is order: 6 (one above the highest) — plain numeric tricks, not framework magic.
What flexbox utilities don't have
No class in this entire group has an !important variant, and none of them have an arbitrary-value form — there's no order-[7] or flex-grow-[2]. If you need a value outside the named scale, it has to go through a component-level class or inline style.