Guides & Extras

px > rems, line heights (18px base)


How to use

Z-index utilities

Z-index utilities control the stacking order of elements when items overlap. A higher z-index places an element above another element with a lower z-index. These classes are most useful for sticky bars, dropdowns, overlays, drawers, modals, floating controls, and decorative layers.

How z-index works

  • Use z-index when elements overlap and one item needs to appear above another.
  • Z-index works best on positioned elements such as relative, absolute, fixed, or sticky elements.
  • A larger value appears above a smaller value when both elements share the same stacking context.
  • Keep values limited and intentional so layering stays predictable across the site.

Recommended scale

  • z-10 raised content or minor overlap
  • z-20 sticky bars and pinned elements
  • z-30 menus and dropdown panels
  • z-40 drawers and larger overlays
  • z-50 modals and priority interface layers
  • z-100 rare override use only

Basic usage

Add a z-index utility directly to the element that needs to stack above or below another. In most cases, pair it with an existing positioning class or with a component that already establishes positioning behavior.

<div class="relative z-10">Layer above base content</div>
<div class="sticky z-20">Sticky bar</div>
<div class="absolute z-30">Dropdown panel</div>
<div class="fixed z-50">Modal or overlay content</div>

Responsive usage

Responsive variants let layering change at different breakpoints. This is useful when a menu, toolbar, or utility bar behaves differently across screen sizes.

<div class="z-10 lg:z-30">
  This element stacks normally at small sizes
  and rises above more content at large sizes.
</div>

Things to watch for

  • Z-index does not fix overlap unless the element can participate in stacking.
  • A child cannot always escape the stacking context created by its parent.
  • Very large z-index values make systems harder to manage and debug.
  • Use the smallest value that solves the problem.

Best practice

Treat z-index as a small system, not a one-off fix. Reuse the shared utility scale instead of assigning random high values. This keeps sticky navigation, dropdowns, drawers, modals, and decorative elements from competing with each other unexpectedly.


Copy Text

Use copyit on any container when you want users to copy its visible text with one click. This pattern is useful for image paths, embed snippets, short code samples, and content tokens.

The utility reads the container text, copies it to the clipboard, shows a toast message, and adds a pulse effect for feedback. The toast container is created automatically, so no extra toast markup is required.

Example

/media/marketing/uvu-home/hero-campus.jpg

How to use it

  • Add copyit to any container that should copy its own visible text.
  • Click the container to copy the text to the clipboard.
  • Keyboard users can focus the item and press Enter or Space.
  • Use short, clean text inside the container so only the needed value is copied.
  • The script creates the toast container automatically, so no separate toast markup is needed.
  • The pulse effect uses the existing decoration animation classes already used in the guide system.

Markup pattern

Use Markup Result
Basic text copy <div class="copyit">https://www.uvu.edu/</div> Copies the URL text on activation
Path or asset name <p class="copyit">/media/marketing/uvu-logo.svg</p> Copies the file path on activation
Card or styled block <div class="card-lifted copyit">hero-banner-dark</div> Copies the visible card text and keeps the existing card style

Best use cases

Content type Good fit Notes
Image paths Yes Helpful for asset libraries and reference pages
Short code snippets Yes Keep the copied text short and exact
Long paragraphs No Too much extra text can be copied by accident
Mixed content blocks Use care Everything visible in the container can be included in the copied result

Notes

  • This pattern copies text only, not HTML markup.
  • The copied value comes from the container’s visible text content.
  • The script adds focus support when needed so non-interactive elements can still be activated by keyboard.
  • For the cleanest result, keep labels, helper text, and icons outside the copyit element unless they should also be copied.

Font Weight Utilities

The typography system uses numeric font-weight tokens and utility classes. The current CSS supports .fw-100 through .fw-900, plus a few alias classes for common weights.

Token Utility Class Alias CSS Weight
--fw-100.fw-100100
--fw-200.fw-200200
--fw-300.fw-300.fw-light, .fw-sm300
--fw-400.fw-400.fw-regular, .fw-md400
--fw-500.fw-500500
--fw-600.fw-600600
--fw-700.fw-700.fw-bold, .fw-lg700
--fw-800.fw-800800
--fw-900.fw-900900

Type Family Reference

These are the font family tokens used by the typography system. Heading and display utilities pull from the primary and secondary brand families, while body copy uses the body font. Weight availability can vary by font family, but the guide weight scale is documented with the shared --fw-* tokens and .fw-* utilities above.

Token Purpose Current Value
--font-bodyBody copy, paragraphs, and list text"arial", sans-serif
--font-primaryPrimary brand headings and links"stratum-1-web", sans-serif
--font-secondaryDisplay and heading utility scale"proxima-nova", sans-serif

Line Height

This is a reference chart only. The typography system already assigns line-height through the real line-height tokens and type classes. The root base size is 18px. For WCAG text spacing guidance, refer to W3.org: W3.org - Text spacing

In the current CSS, body copy uses --lh-p, small type uses --lh-sm or --lh-xs, and headings use --lh-h1 through --lh-h6.


Line Height Multiplier16px18px20px22px27px32px39px48px58px71px86px105px127px
HEADINGS: 1.2x19.221.624.026.432.438.446.857.669.685.2103.2126.0152.4
LARGE TXT 20+: 1.4x22.425.228.030.837.844.854.667.281.299.4120.4147.0177.8
STANDARD LINE HEIGHT 20+: 1.5x24.027.030.033.040.548.058.572.087.0106.5129.0157.5190.5
BODY TEXT: 1.6x25.628.832.035.243.251.262.476.892.8113.6137.6168.0203.2
1.75x28.031.535.038.547.2556.068.2584.0101.5124.25150.5183.75222.25

Line Height Utility Reference

These are the utility classes and tokens currently available in the typography CSS.

Utility Class Token Use
.lh-xs--lh-xsExtra-small text and tighter utility cases
.lh-sm--lh-smSmall text
.lh-p--lh-pParagraph and body text
.lh-6--lh-h6Heading 6 scale
.lh-5--lh-h5Heading 5 scale
.lh-4--lh-h4Heading 4 scale
.lh-3--lh-h3Heading 3 scale
.lh-2--lh-h2Heading 2 scale
.lh-1--lh-h1Heading 1 scale
.lh-lg--lh-lgLarge display type
.lh-xl--lh-xlExtra-large display type
.lh-xxl--lh-xxlDouble extra-large display type

Px : Rem : Pt

This conversion table uses the system base of 18px = 1rem. It is a guide reference only. In implementation, use the real typography tokens and utility classes first, then use rem values when you need custom design documentation.

PX=REMPTPX=REMPTPX=REMPTPX=REMPT
1=0.05560.75pt2=0.11111.5pt3=0.16672.25pt4=0.22223pt
5=0.27783.75pt6=0.33334.5pt7=0.38895.25pt8=0.44446pt
9=0.50006.75pt10=0.55567.5pt11=0.61118.25pt12=0.66679pt
13=0.72229.75pt14=0.777810.5pt15=0.833311.25pt16=0.888912pt
17=0.944412.75pt18=1.000013.5pt19=1.055614.25pt20=1.111115pt
21=1.166715.75pt22=1.222216.5pt23=1.277817.25pt24=1.333318pt
25=1.388918.75pt26=1.444419.5pt27=1.500020.25pt28=1.555621pt
29=1.611121.75pt30=1.666722.5pt31=1.722223.25pt32=1.777824pt
33=1.833324.75pt34=1.888925.5pt35=1.944426.25pt36=2.000027pt
37=2.055627.75pt38=2.111128.5pt39=2.166729.25pt40=2.222230pt
41=2.277830.75pt42=2.333331.5pt43=2.388932.25pt44=2.444433pt
45=2.500033.75pt46=2.555634.5pt47=2.611135.25pt48=2.666736pt
49=2.722236.75pt50=2.777837.5pt51=2.833338.25pt52=2.888939pt
53=2.944439.75pt54=3.000040.5pt55=3.055641.25pt56=3.111142pt
57=3.166742.75pt58=3.222243.5pt59=3.277844.25pt60=3.333345pt
61=3.388945.75pt62=3.444446.5pt63=3.500047.25pt64=3.555648pt
65=3.611148.75pt66=3.666749.5pt67=3.722250.25pt68=3.777851pt
69=3.833351.75pt70=3.888952.5pt71=3.944453.25pt72=4.000054pt
73=4.055654.75pt74=4.111155.5pt75=4.166756.25pt76=4.222257pt
77=4.277857.75pt78=4.333358.5pt79=4.388959.25pt80=4.444460pt
81=4.500060.75pt82=4.555661.5pt83=4.611162.25pt84=4.666763pt
85=4.722263.75pt86=4.777864.5pt87=4.833365.25pt88=4.888966pt
89=4.944466.75pt90=5.000067.5pt91=5.055668.25pt92=5.111169pt
93=5.166769.75pt94=5.222270.5pt95=5.277871.25pt96=5.333372pt
97=5.388972.75pt98=5.444473.5pt99=5.500074.25pt100=5.555675pt
101=5.611175.75pt102=5.666776.5pt103=5.722277.25pt104=5.777878pt
105=5.833378.75pt106=5.888979.5pt107=5.944480.25pt108=6.000081pt
109=6.055681.75pt110=6.111182.5pt111=6.166783.25pt112=6.222284pt
113=6.277884.75pt114=6.333385.5pt115=6.388986.25pt116=6.444487pt
117=6.500087.75pt118=6.555688.5pt119=6.611189.25pt120=6.666790pt
121=6.722290.75pt122=6.777891.5pt123=6.833392.25pt124=6.888993pt
125=6.944493.75pt126=7.000094.5pt127=7.055695.25pt128=7.111196pt
129=7.166796.75pt130=7.222297.5pt131=7.277898.25pt132=7.333399pt
133=7.388999.75pt134=7.4444100.5pt135=7.5000101.25pt136=7.5556102pt
137=7.6111102.75pt138=7.6667103.5pt139=7.7222104.25pt140=7.7778105pt
141=7.8333105.75pt142=7.8889106.5pt143=7.9444107.25pt144=8.0000108pt
145=8.0556108.75pt146=8.1111109.5pt147=8.1667110.25pt148=8.2222111pt
149=8.2778111.75pt150=8.3333112.5pt151=8.3889113.25pt152=8.4444114pt
153=8.5000114.75pt154=8.5556115.5pt155=8.6111116.25pt156=8.6667117pt
157=8.7222117.75pt158=8.7778118.5pt159=8.8333119.25pt160=8.8889120pt
161=8.9444120.75pt162=9.0000121.5pt163=9.0556122.25pt164=9.1111123pt
165=9.1667123.75pt166=9.2222124.5pt167=9.2778125.25pt168=9.3333126pt
169=9.3889126.75pt170=9.4444127.5pt171=9.5000128.25pt172=9.5556129pt
173=9.6111129.75pt174=9.6667130.5pt175=9.7222131.25pt176=9.7778132pt
177=9.8333132.75pt178=9.8889133.5pt179=9.9444134.25pt180=10.0000135pt
181=10.0556135.75pt182=10.1111136.5pt183=10.1667137.25pt184=10.2222138pt
185=10.2778138.75pt186=10.3333139.5pt187=10.3889140.25pt188=10.4444141pt
189=10.5000141.75pt190=10.5556142.5pt191=10.6111143.25pt192=10.6667144pt
193=10.7222144.75pt194=10.7778145.5pt195=10.8333146.25pt196=10.8889147pt
197=10.9444147.75pt198=11.0000148.5pt199=11.0556149.25pt200=11.1111150pt
Dark Mode - needs work

It seems that you have reduce motion enabled!