Forum Design System

Typography Colors Status Shadows Outline Profile Photos Buttons Links Spacing Components

Typography

h1
h2
h3
h4


body-l
body
body-s
body-xs
bold


dashboard-l


Colors

All colors are available through CSS variables. Aside from black and white, there are 10 base colors. Each base color has two shades and two tints. There are seven tints of black (i.e., seven shades of gray). You can refer to them directly in your CSS like this:



Background Colors

There are also classes for each color to set the background color of an element:

bg-black
bg-black-tint-10
bg-black-tint-20
bg-black-tint-40
bg-black-tint-70
bg-black-tint-90
bg-black-tint-95
bg-black-tint-97
bg-white
bg-blue
bg-blue-shade-40
bg-blue-shade-20
bg-blue-tint-20
bg-blue-tint-90
bg-blue-green
bg-blue-green-shade-40
bg-blue-green-shade-20
bg-blue-green-tint-20
bg-blue-green-tint-90
bg-green
bg-green-shade-40
bg-green-shade-20
bg-green-tint-20
bg-green-tint-90
bg-yellow-green
bg-yellow-green-shade-40
bg-yellow-green-shade-20
bg-yellow-green-tint-20
bg-yellow-green-tint-90
bg-yellow
bg-yellow-shade-40
bg-yellow-shade-20
bg-yellow-tint-20
bg-yellow-tint-90
bg-orange
bg-orange-shade-40
bg-orange-shade-20
bg-orange-tint-20
bg-orange-tint-90
bg-red
bg-red-shade-40
bg-red-shade-20
bg-red-tint-20
bg-red-tint-90
bg-red-violet
bg-red-violet-shade-40
bg-red-violet-shade-20
bg-red-violet-tint-20
bg-red-violet-tint-90
bg-violet
bg-violet-shade-40
bg-violet-shade-20
bg-violet-tint-20
bg-violet-tint-90
bg-blue-violet
bg-blue-violet-shade-40
bg-blue-violet-shade-20
bg-blue-violet-tint-20
bg-blue-violet-tint-90

Text Colors

Use these classes to set text color:

text-black
text-black-tint-10
text-black-tint-20
text-black-tint-40
text-black-tint-70
text-black-tint-90
text-black-tint-95
text-black-tint-97
text-white
text-blue
text-blue-green
text-green
text-yellow-green
text-yellow
text-orange
text-red
text-red-violet
text-violet
text-blue-violet

Rubric / Assessment Score Colors

There are aliases for colors used in the display of rubric and assessment scores. They come in dark and light shades for backgrounds, and in dark shades for text colors. The number at the end corresponds to the score value being rendered, in the range 0 - 5. You can also refer to the colors directly in CSS expressions, e.g.,var(--score-0) or var(--score-light-5).

bg-score-0
bg-score-1
bg-score-2
bg-score-3
bg-score-4
bg-score-5
bg-score-light-0
bg-score-light-1
bg-score-light-2
bg-score-light-3
bg-score-light-4
bg-score-light-5
text-score-0
text-score-1
text-score-2
text-score-3
text-score-4
text-score-5

Status

Not Submitted
Submitted
Submitted (Late)
Not Submitted (Overdue)


Shadows

shadow-level-1
shadow-level-2
shadow-level-3
shadow-level-4
shadow-level-5


Outline

Basic Examples

div
span
border
border-radius


Profile Photos

Basic Example



Initials Placeholder

AB CD EF GH IJ


Object Fit



Overlapping

Shown with outline classes.

AB CD EF GH IJ KL
AB CD EF GH IJ KL
AB CD EF GH IJ KL


This also works if you have to nest the image for whatever reason.

AB
CD
EF
GH
IJ
KL


Buttons

Main Buttons





Other Buttons









These buttons are used as menu buttons. Icons can be SVGs or fonts. (In the example below, the first button uses an SVG while the second button uses an icon font.) There are also two color variations, light and red.



Helpers

Some button styles come with a box shadow, which could be unwanted on a dark background. In such cases, use the following helper class to remove the box shadow:



Classroom Buttons

These buttons are used in the classroom on a dark background and should take up the width of the sidebar.







These are the classroom versions of text buttons (buttons that look like links). Note that in the examples below, the background is not part of the button.





Grading Buttons





All <a> elements will automatically have these styles applied:

I am a link!


Certain links, such as HCs and links within blocks of text, should always be underlined.

I am a link!


In some situations, you can't apply the class to the link itself (for example, when the HTML is generated from Markdown). In such cases, you can apply the following helper class on a parent element instead:



This style is meant to be used with tooltips:

I am a tooltip!
I am also a tooltip!


Spacing

All spacing is based on a 4px grid system. Note that we override the default sizes provided by Basscss.

Shorthand Description
m Margin
p Padding
t Top
r Right
b Bottom
l Left
x X-axis (left and right)
y Y-axis (top and bottom)
n Negative (margin and x-axis only)
0 0px
1 --space-1 (4px)
2 --space-2 (8px)
3 --space-3 (12px)
4 --space-4 (16px)
5 --space-5 (20px)
6 --space-6 (24px)
7 --space-7 (28px)
10 --space-10 (40px)

The preferred method is to compose these margin and padding classes together like this:

p2 mb4
px3 py6


Alternatively, you can use CSS variables to set margin and padding in your custom CSS:



Components

Progress Bar



To update the progress bar, adjust the width of the bar element. Here's an example shown in jQuery:



Table

Heading 1 Heading 2 Heading 3
Example Example Example
Example Example Example

To use these table styles, add the fds-table class to the <table> element:



Heading 1 Heading 2 Heading 3
Example Example Example
Example Example Example

If you want a hover effect on table rows, use the table-hover class in addition to fds-table. Note that this should only be used on tables where the entire row is actionable.



Tabs