09/19/2024
In this documentation, we will walk through the "utility classes" that are available in the /_resources/css/stylesheet.css file provided by 25th Hour Communications. I will try to provide code examples for everything as I go, but this page will also be "inspect-able" so you can see how examlpe elements are built.
Sections are used as full width content areas to differentiate elements and pieces of content. This is what allows you to create different sections with different background colors or background images that span the full width of the page.
The standard section used across the site is this:
<section class="container container-full-width xl-padding">
</section>
This is what the sections that are currently on the page are using. It makes each section full width with a standard amount of padding. this can also be combined with different padding and background color classes for different sizes and colors.
<section class="container container-full-width xs-padding bg-white">
</section>
<section class="container container-full-width sm-padding bg-red">
</section>
<section class="container container-full-width md-padding bg-beige">
</section>
<section class="container container-full-width lg-padding bg-white">
</section>
<section class="container container-full-width xl-padding bg-white">
</section>
<section class="container container-full-width xxl-padding bg-white">
</section>
<section class="container container-full-width xxxl-padding bg-white">
</section>
Those sections would look like this:
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat deserunt, quibusdam aperiam doloremque at aspernatur asperiores facilis autem. Quasi modi neque saepe laudantium, porro iure assumenda. Adipisci, eos? Officia aliquid, eligendi ab quos illum totam fugiat error culpa impedit deserunt libero quasi eveniet rerum a quae obcaecati nulla, magni mollitia?
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat deserunt, quibusdam aperiam doloremque at aspernatur asperiores facilis autem. Quasi modi neque saepe laudantium, porro iure assumenda. Adipisci, eos? Officia aliquid, eligendi ab quos illum totam fugiat error culpa impedit deserunt libero quasi eveniet rerum a quae obcaecati nulla, magni mollitia?
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat deserunt, quibusdam aperiam doloremque at aspernatur asperiores facilis autem. Quasi modi neque saepe laudantium, porro iure assumenda. Adipisci, eos? Officia aliquid, eligendi ab quos illum totam fugiat error culpa impedit deserunt libero quasi eveniet rerum a quae obcaecati nulla, magni mollitia?
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat deserunt, quibusdam aperiam doloremque at aspernatur asperiores facilis autem. Quasi modi neque saepe laudantium, porro iure assumenda. Adipisci, eos? Officia aliquid, eligendi ab quos illum totam fugiat error culpa impedit deserunt libero quasi eveniet rerum a quae obcaecati nulla, magni mollitia?
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat deserunt, quibusdam aperiam doloremque at aspernatur asperiores facilis autem. Quasi modi neque saepe laudantium, porro iure assumenda. Adipisci, eos? Officia aliquid, eligendi ab quos illum totam fugiat error culpa impedit deserunt libero quasi eveniet rerum a quae obcaecati nulla, magni mollitia?
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat deserunt, quibusdam aperiam doloremque at aspernatur asperiores facilis autem. Quasi modi neque saepe laudantium, porro iure assumenda. Adipisci, eos? Officia aliquid, eligendi ab quos illum totam fugiat error culpa impedit deserunt libero quasi eveniet rerum a quae obcaecati nulla, magni mollitia?
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat deserunt, quibusdam aperiam doloremque at aspernatur asperiores facilis autem. Quasi modi neque saepe laudantium, porro iure assumenda. Adipisci, eos? Officia aliquid, eligendi ab quos illum totam fugiat error culpa impedit deserunt libero quasi eveniet rerum a quae obcaecati nulla, magni mollitia?
There are several color utility classes in the Redwoods CSS file. These classes can be applied to any element to change it's color in various ways. The only "special" class in here is "children-text-white" which will change all child elements text colors to white. This is useful when working with red background sections. All of the colors used are in the College Of The Redwoods color pallate.
/* Text Colors*/
text-red
text-teal
text-grey
text-white
children-text-white
/* background Colors*/
bg-red
bg-teal
bg-grey
bg-white
bg-beige
/* border Colors*/
border-red
border-teal
border-grey
We have included a series of headings and heading classes to make it easier to get the look that you want to achieve for your headings while keeping your pages accessible.
Obviously, included is the standard
h1, h2, h3, h4, h5, h6
But we have also included classes for each size and type of heading:
.h1
.h2
.h3
.h4
.h5
.h6
This means you can have an h2 tag with the .h3 class and it will read as an h2 to screen readers, but it will look like an h3. Somethign like this:
<h2 class="h3"></h2>
Will render like this:
Rather than like a normal h2 like the following:
We've built in a bunch of types of links and buttons.
If you inspect the following paragraph, you can see the different types of inline links that are available. The classes used (in order) are:
a (no class)
border-link
arrow-link
external-link
pdf-link
Lorem ipsum dolor sit amet consectetur adipisicing elit. Optio, officiis magnam dolor error blanditiis deserunt? Lorem ipsum dolor sit amet. Repellat repudiandae quae nesciunt cum, exercitationem nobis doloribus consequuntur reiciendis! Ipsa porro labore voluptatum sed. Omnis officiis molestias totam, iste beatae dolor quam natus nisi illo, ea tenetur laboriosam autem? Consequatur, omnis nulla libero voluptatum accusantium, corrupti cumque, voluptas commodi est pariatur recusandae inventore cum?Lorem ipsum dolor sit amet consectetur adipisicing elit. Eveniet, magnam ipsum molestiae quia assumenda debitis aperiam. Odit sapiente sunt eum saepe excepturi. Facilis eius eligendi at labore itaque, doloremque sit. Libero, quod vitae et non quos sunt debitis voluptatem enim provident. Voluptates quibusdam a distinctio! Lorem ipsum dolor sit amet. Laborum, vitae reiciendis nisi delectus libero adipisci suscipit maxime. Repellat, excepturi! Id repudiandae dignissimos dolorum. Lorem ipsum dolor sit amet consectetur adipisicing elit. Sint mollitia non vitae natus! Placeat deserunt excepturi veniam cupiditate quaerat reprehenderit. Lorem, ipsum dolor sit amet consectetur adipisicing elit. Qui eaque nulla rerum aut architecto sapiente assumenda, quod dolorem iure! Sunt quo corporis iure! Assumenda voluptate ipsum reiciendis culpa vel expedita aliquid fugit quod, voluptates aliquam distinctio ducimus fuga.
There are also several types of buttons built into the CSS.
Your standard buttons use the classes:
<a href="#" class="button md primary">Button</a>
<a href="#" class="button md secondary">Button</a>
Which look like this:
Primary Button Secondary ButtonThese can also be combined with these size classes for different button sizes:
.sm
.md
.lg
Which look like this:
Small Button Medium Button Large ButtonReminder:
The <button></button> tag should only be used for interactable elements that are
NOT links.
The <a></a> tag should always and only be used for links.
We also have a class that we add to every site called sr-only that will hide text for all users who are not using screen readers. This can be used to add extra context to an element or a section for people using assistive devices. This can be applied to any element, including buttons.
<span="sr-only">This will only be read by a screen reader</span>
We have two box shadow classes available, one with hover interaction and one without.
box-shadow
box-shadow-hover
Which look like this:
This is the code example for the previous section:
<div class="grid pad-2r grid-50-50-enforced sm-gap">
<a class="card pad-3r box-shadow">Lorem ipsum dolor sit amet consectetur adipisicing elit.
Temporibus, veniam. Vel optio
doloribus sit, eveniet cum fugiat vitae nam. Omnis.</a>
<a class="card pad-3r box-shadow-hover">Lorem ipsum dolor sit amet consectetur adipisicing elit.
Temporibus, veniam. Vel
optio doloribus sit, eveniet cum fugiat vitae nam. Omnis.</a>
</div>
There are several automatic (and mobile optimized) padding classes available.
There are 3 types of padding classes:
We kept these standardized since for normal elements they shouldn't be too massively padded. Padding is all applied in rem units to allow for screen magnification. 1rem = 16px
Here are the classes:
pad-1r
pad-2r
pad-3r
pad-horiz-1r
pad-horiz-2r
pad-horiz-3r
pad-vert-1r
pad-vert-2r
pad-vert-3r
each of those classes would look like this:
Code example for the above section:
<div class=" pad-vert-2r flex-col sm-gap bg-red">
<a class="card pad-1r bg-white">pad-1r</a>
<a class="card pad-2r bg-white"">pad-2r</a>
<a class="card pad-3r bg-white"">pad-3r</a>
<a class="card pad-horiz-1r bg-white">pad-horiz-1r</a>
<a class="card pad-horiz-2r bg-white"">pad-horiz-2r</a>
<a class="card pad-horiz-3r bg-white"">pad-horiz-3r</a>
<a class="card pad-vert-1r bg-white">pad-vert-1r</a>
<a class="card pad-vert-2r bg-white"">pad-vert-2r</a>
<a class="card pad-vert-3r bg-white"">pad-vert-3r</a>
</div>
These padding classes can also be combined, like so:
Code example for the above section:
<div class=" pad-vert-2r flex-col sm-gap bg-red">
<a class="card pad-vert-2r pad-horiz-1r bg-white">pad-vert-2r pad-horiz-1r</a>
</div>
When working with grids, there are several options available by default.
Honestly, there's too many options to provide written code examples for each, so I would recommend inspecint the section below for specific code examples. Each grid needs 3 classes for it to function properly:
The available grid definition classes are:
grid-50-50-enforced
grid-50-50-auto
grid-33-33-33-enforced
grid-33-33-33-auto
grid-50-25-25-enforced
grid-25-25-50-enforced
grid-25-25-25-25-enforced
grid-25-25-25-25-auto
The available gap classes are:
no-gap
sm-gap
md-gap
lg-gap
xl-gap
The basic structure of the grids goes as follows:
<div class="grid 2elem no-gap grid-50-50-enforced">
<div>
Grid Content
</div>
<div>
Grid Content
</div>
</div>
Honestly this is another one where it's probably best to just inspect the page to see all of the classes used for each one of these alerts. This source code is very copy+paste.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nihil accusantium corrupti numquam dolorum atque rerum rem eaque aperiam consequatur odit! Earum numquam nostrum nulla at laborum, officia incidunt fuga quos vitae natus totam? Quae vel praesentium labore voluptate tempore consequuntur sequi aliquid nemo voluptates cupiditate consequatur cumque aliquam, vero possimus?
There are several classes related to cards in the CSS that can be used to create basically any type of card that you could want. The card classes break down into a few different categories:
You can use every one of the types of classes to make a very complex card, or you can use just a few to make a very simple card.
The actual content of the card doesn't matter. It can have an image, heading, button, text, list. Really any standard element. The card classes can also be applied to anchor tags to act as links.
For a simple card, all we would need is:
<div class="card pad-2r card-sm straight bg-white">
<h2>Simple Card</h2>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos
recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum
tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est
dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium
itaque nemo praesentium.</p>
<a class="arrow-link">Lorem ipsum dolor</a>
</div>
Which would give us:
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorOr we can have a much more complicated card, like this:
<div class="card pad-2r card-lg border-right border-red rounded-sm border-lg bg-white">
<h2>Complex Card</h2>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos
recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum
tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est
dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium
itaque nemo praesentium.</p>
<a class="arrow-link">Lorem ipsum dolor</a>
</div>
Which would give us:
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorThese are some possibilities for what you could do with the card related classes. If you inspect the following elements you'll be able to see the types of classes used to construct each card.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolorLorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus quo cum soluta sapiente dignissimos recusandae non alias delectus officiis culpa unde error velit distinctio aperiam voluptates cupiditate earum tenetur dolor fugit, libero incidunt nam maxime assumenda. Consequatur soluta quas sequi similique, illum est dolorem at quia veritatis delectus laboriosam assumenda dicta corrupti doloribus, in, labore quos laudantium itaque nemo praesentium.
Lorem ipsum dolor