Website Components

Website documentation, best practice guidelines, brand guide, and CSS preprocessor (code complier).

This page is included with all builds, but normally as a private page. I make it publicly available here, for the sake of transparency.

Caveats aside – elements from this page can be copy/pasted into any other section of your website.

An experiment is an observation that can be repeated, isolated, and varied.

Force Styles Blue Green

All Brand Colors

Show RGBHEX

  • black: #0000000, 0, 0
  • accent: #0808088, 8, 8
  • grey-base: #11111117, 17, 17
  • grey-darkest: #33333351, 51, 51
  • grey-darker: #55555585, 85, 85
  • grey-dark: #777777119, 119, 119
  • grey: #999999153, 153, 153
  • grey-light: #aaaaaa170, 170, 170
  • grey-lighter: #cccccc204, 204, 204
  • grey-lightest: #dddddd221, 221, 221
  • grey-peak: #eeeeee238, 238, 238
  • white: #ffffff255, 255, 255
  • brand: #e96546233, 101, 70
  • success-bg: #dff0d8223, 240, 216
  • success-text: #3c763d60, 118, 61
  • success-link: #2b542c43, 84, 44
  • failure-bg: #f2dede242, 222, 222
  • failure-text: #a94442169, 68, 66
  • failure-link: #843534132, 53, 52

View Semi-transparent Options

Semi-transparent Samples

WCAG Validation

Current Level: AA Normal (>= 4.5)

Select another color contrast validation level

Backgrounds with Text Samples
(Background to Color Contrast Ratio)

Background black: #0000000, 0, 0
Standard text color, a link, lorem ipsum, etc

grey-dark (4.7) grey (7.4) grey-light (9.0) grey-lighter (13.1) grey-lightest (15.5) grey-peak (18.1) white (21.0) brand (6.4)

Background accent: #0808088, 8, 8
Standard text color, a link, lorem ipsum, etc

grey (7.0) grey-light (8.6) grey-lighter (12.5) grey-lightest (14.7) grey-peak (17.3) white (20.0) brand (6.1)

Background grey-base: #11111117, 17, 17
Standard text color, a link, lorem ipsum, etc

grey (6.6) grey-light (8.1) grey-lighter (11.8) grey-lightest (13.9) grey-peak (16.3) white (18.9) brand (5.8)

Background grey-darkest: #33333351, 51, 51
Standard text color, a link, lorem ipsum, etc

grey-light (5.4) grey-lighter (7.9) grey-lightest (9.3) grey-peak (10.9) white (12.6)

Background grey-darker: #55555585, 85, 85
Standard text color, a link, lorem ipsum, etc

grey-lighter (4.6) grey-lightest (5.5) grey-peak (6.4) white (7.5)

Background grey-dark: #777777119, 119, 119
Standard text color, a link, lorem ipsum, etc

black (4.7)

Background grey: #999999153, 153, 153
Standard text color, a link, lorem ipsum, etc

black (7.4) accent (7.0) grey-base (6.6)

Background grey-light: #aaaaaa170, 170, 170
Standard text color, a link, lorem ipsum, etc

black (9.0) accent (8.6) grey-base (8.1) grey-darkest (5.4)

Background grey-lighter: #cccccc204, 204, 204
Standard text color, a link, lorem ipsum, etc

black (13.1) accent (12.5) grey-base (11.8) grey-darkest (7.9) grey-darker (4.6) success-link (5.4) failure-link (5.1)

Background grey-lightest: #dddddd221, 221, 221
Standard text color, a link, lorem ipsum, etc

black (15.5) accent (14.7) grey-base (13.9) grey-darkest (9.3) grey-darker (5.5) success-link (6.4) failure-link (6.1)

Background grey-peak: #eeeeee238, 238, 238
Standard text color, a link, lorem ipsum, etc

black (18.1) accent (17.3) grey-base (16.3) grey-darkest (10.9) grey-darker (6.4) success-text (4.7) success-link (7.5) failure-text (5.0) failure-link (7.1)

Background white: #ffffff255, 255, 255
Standard text color, a link, lorem ipsum, etc

black (21.0) accent (20.0) grey-base (18.9) grey-darkest (12.6) grey-darker (7.5) success-text (5.5) success-link (8.7) failure-text (5.8) failure-link (8.3)

Background brand: #e96546233, 101, 70
Standard text color, a link, lorem ipsum, etc

black (6.4) accent (6.1) grey-base (5.8)

Background success-bg: #dff0d8223, 240, 216
Standard text color, a link, lorem ipsum, etc

black (17.6) accent (16.8) grey-base (15.8) grey-darkest (10.6) grey-darker (6.2) success-text (4.6) success-link (7.3) failure-text (4.9) failure-link (6.9)

Background failure-bg: #f2dede242, 222, 222
Standard text color, a link, lorem ipsum, etc

black (16.3) accent (15.5) grey-base (14.6) grey-darkest (9.8) grey-darker (5.8) success-link (6.8) failure-text (4.5) failure-link (6.4)

View Font Details

Font Samples

Sans-serif Font Sample

  • FW100 (Thin) – The quick brown fox jumps over the lazy dog
  • FW200 (ExtraLight) – The quick brown fox jumps over the lazy dog
  • FW300 (Light) – The quick brown fox jumps over the lazy dog
  • FW400 (Regular) – The quick brown fox jumps over the lazy dog
  • FW500 (Medium) – The quick brown fox jumps over the lazy dog
  • FW600 (SemiBold) – The quick brown fox jumps over the lazy dog
  • FW700 (Bold) – The quick brown fox jumps over the lazy dog
  • FW800 (ExtraBold) – The quick brown fox jumps over the lazy dog
  • FW900 (Black) – The quick brown fox jumps over the lazy dog

Serif Font Sample

  • FW100 (Thin) – The quick brown fox jumps over the lazy dog
  • FW200 (ExtraLight) – The quick brown fox jumps over the lazy dog
  • FW300 (Light) – The quick brown fox jumps over the lazy dog
  • FW400 (Regular) – The quick brown fox jumps over the lazy dog
  • FW500 (Medium) – The quick brown fox jumps over the lazy dog
  • FW600 (SemiBold) – The quick brown fox jumps over the lazy dog
  • FW700 (Bold) – The quick brown fox jumps over the lazy dog
  • FW800 (ExtraBold) – The quick brown fox jumps over the lazy dog
  • FW900 (Black) – The quick brown fox jumps over the lazy dog

Headings and Paragraphs

H1 – The quick brown fox jumps over the lazy dog

H2 – The quick brown fox jumps over the lazy dog

H3 – The quick brown fox jumps over the lazy dog

H4 – The quick brown fox jumps over the lazy dog

H5 – The quick brown fox jumps over the lazy dog

H6 – The quick brown fox jumps over the lazy dog

P (large) – The quick brown fox jumps over the lazy dog

P – The quick brown fox jumps over the lazy dog

Two Line Headings
A great way to create long tail headings for SEO

Lists

  • Lists are a way to organize content
    • List items may be indented
  • Text blocks (like lists) allow for styles, such as bold, or italics
  • Other options include (but not limited to) small, strikethrough, subscript or superscript
  • List may also be “inline” for things like navigation
  • First Item
  • Second Item
  • Last Item
Description lists
A Specific Kind of List
DT – Defines the term or name
DD – Describes the term/name
More than one description (dd) is allowed per dt
HTML vs CSS
Proper use of HTML reduces the need for CSS
“Pseudo Heading”
White hat SEO leverages all that HTML has to offer

Blockquote

Warning! The finickiest block ever created. The quoteblock block is called “Quote” and behaves similar to a group. Many items can end up in the “Quote” block by mistake.

This is the quote portion of a quote block. Quote blocks work best when added within a group.

This is the citation portion of the quote block

Links and Buttons

Feeling lost? Visit the Sitemap to learn more.

Scroll to top – an example of a scroll to, or jump link. This kind of link uses the class “SmoothScroll” to activate the JS for smooth scrolling. Learn more about JS in the JavaScript section.

Buttons typically stand alone, but check this out – buttons can be added mid-sentence too.

Standard Size

Large Size

Extra Large Size

Information regarding linked images can be found within the images section.

Image Types

Website images render in two ways. “Actual” images exist within the HMTL of the page. Background images are displayed via CSS. Some recommendations apply to either image type (e.g. image size) but many recommendations apply only to “actual” images (e.g. alt text).

Actual image

Has a width and height of its own. Scales while maintaining aspect ratio.

Background image

Width and height are dependent on container. May or may not maintain aspect ratio.

Alt Text Recommendations

All “actual” images must have an alt attribute (a.k.a. “alt text”). How the image is used determines best practice for the alt attribute content.

Textural images are images used to enhance look and feel. For textural images, the alt attribute should be left blank or empty. Ideally, aria-hidden would be added to the image.

Contextual images add context to aid in understanding. For contextual images, a rich description of the image should be included within the alt attribute.

Textual images convey key information within an image. This kind of image use should always be avoided. Consider using SVGs as HTML elements (not as images). Alternatively, add aria-hidden to the image and include a text-based alternative.

Linked Images

Favicon Image

Linked “actual” images should have content populated to the alt attribute. Adding a title tag to the link is also recommended. These two additions make websites much more accessible.

Additional options for accessible linked images can be found in the mixed content block section.

View Additional Image Information

SVGs (not images)

[Return_SVG path=”arrow-right” height=”50″]

SVGs can be loaded like an image (using src=””). When SVGs are loaded like images, they are treated like images; using the same rules regarding alt attributes, declaring width and height, etc.

SVGs can also be loaded as HTML. These SVGs are treated more like a traditional HTML element.

Image Sizes

Image size recommendations are tied to responsive breakpoints and container widths. For any given image, the largest image “required” is one that fills the parent container at the parent’s largest width. For images that are not full-width, the largest container width is the top of the sm breakpoint (“tablet”). If you are unsure – uploading an image at 1400px and at the desired aspect ratio is probably fine, because smaller scaled images are automatically created.

Breakpoints

  • md - (min-width: 768px)
  • lg - (min-width: 992px)
  • xl - (min-width: 1200px)
  • xxl - (min-width: 1400px)
  • sm - (max-width: 767px)
  • xs - (max-width: 500px)
  • xxs - (max-width: 349px)

Main Container Widths

  • md - 750px
  • lg - 970px
  • xl - 1170px
  • xxl - 1370px

Image Sizes

  • thumbnail - 350 x ∞
  • medium - 500 x ∞
  • medium_large - 768 x ∞
  • large - 992 x ∞
  • 1536x1536 - 1536 x 1536
  • 2048x2048 - 2048 x 2048

Aspect Ratio Calculator

Results will appear here.

Special Use Images

Websites typically include two types of “hidden” images – social share/search engine result images and favicon images.

Featured Image

When Yoast is added to WordPress, the featured image is also used as the suggested social share image. The critical things to know here:

  • We can suggest a social share image, but we cannot force the image
  • This image is often, but not always, used for a search engine search result
  • Using a letterbox canvas (16:9 – 1200 x 675) with a square composition will generally create the best experience across the largest range of websites
  • A featured image should be added to every piece of content

Favicons

All websites should include a range of favicon sizes and favicon naming conventions. These images should be (and have been) included in the “root” directory. E.g. /favicon-96×96.png.

Here is a sample of your favicons.

Basic Parallax Sections
Use a Background Image

(This transparency effect uses opacity)

Columns
Grid or Front-end Framework

Columns may be achieved via various methods. All example methods shown here have basic responsive baked in. Columns break to 100% for mobile, unless the “Stack on Mobile” setting is unchecked or additional classes are added.

Percent in Column Setting

Creating columns with a percent in column setting is quick and easy but also highly flexible. Out of the box, these columns will break to 100% for mobile.

One

Two

Three

Four

Valid percent settings:

Every 5 from 5 to 100 (5, 10, 15, 20, 25, etc). This can be changed to every 2, 1 or 10. Up to you.

Base 12 fractions as decimals: 8.33, 16.16, 33.33, 41.66, 58.33, 66.66, 83.33, and 91.66. Remembering these decimals is hard, but base 12 is easier than you might think. See the examples below to learn more.

View More Basic Positioning Examples

“Column Classes” – Base 12

Simplified base 12 – look at the 12 digits of your 4 fingers …. that’s base 12! Fun fact – you can easily count to 150 on your fingers, once you learn base 12 counting.

A basic example of columns via Base 12 classes …. If you want 4 columns, that is just like your 4 fingers. Each finger has 3 digits. So, we need a width that is 3 out of 12. W3_12 or col-3 works.

One

Two

Three

Four

Using base 12 allows us to create columns based on fractions of 12. While few of us would remember that 1/12 is ~8.33, we all intuitively understand that 1 out of 12 is small. 2 out of 12 would be bigger and so on.

Also – once you learn to count base 12 on the 12 digits of your non-dominant hand’s fingers, you can easily create columns of various numbers and widths.

BONUS! – These columns use the FR class (float: right;) and that makes them appear opposite of what you expect. The column that appears on the far right appears at the top on mobile. Check desktop vs. mobile in comparison to the row above to see the difference.

This can create more interesting desktop layouts that still make sense on mobile.

Flex

Flex is the simplest method of creating equal columns. Columns with the class “flex-equal” are always equal widths based on the number of columns and break to 100% for mobile.

One

Two

Three

Four

Advanced Responsive Columns

The basic “break to 100% for mobile” approach to responsive is generally good. Sometimes, it is better to fine-tune when items break, and what width they break to. A basic example – 4 columns (lg) become 2 rows of 2 (md), and then a single column (100% at sm).

One

Two

Three

Four

Fixing “Broken” Responsive Columns

The above example works well, until you have columns of unequal heights (which is common). The following columns do not work “as expected” due to how this method works. Items “pull” to the left, but can’t go “up and over” an element next to them. The column “hangs up” on the item next to it, which is taller.

One

  • A
  • B
  • C

Two

  • D

Three

  • E
  • F
  • G

Four

  • H
  • I

Columns in Columns

One solution is columns in columns. If the columns fall into “neat groups”, this method works incredibly well.

One

  • A
  • B
  • C

Two

  • D

Three

  • E
  • F
  • G

Four

  • H
  • I

Columns with Offsets

Columns with odd numbers (at a given break point) create another problem – the ugly odd row. The solution here is to add offsets. In this basic example, we start 5 across (lg), then go 50/50 and offset the odd class (md), and then break to 100% (sm). Note – offsets work with the same percentage width, or base 12 classes. E.g. OS6_12 or OS50

One

  • A
  • B
  • C

Two

  • D

Three

  • E
  • F
  • G

Four

  • H
  • I

Five

  • J
  • K

Columns with Offsets and Variable Height Dividers

Sometimes columns do not fall into “neat groups”. This problem occurs when we want to go from 5 across, to 3 | 2 across, then 2 | 2 | 1 and finally all 100% width. In these cases, adding margin-bottom through responsive (or a responsive height divider) will fix our “going up and over” problem.

One

  • A
  • B
  • C

Two

  • D

Three

  • E
  • F
  • G

Four

  • H
  • I

Five

  • J
  • K

Robust positioning often utilizes the position property. Once a position value has been assigned, we are working in 3 dimensions (x, y and z) not just 2 (x and y).

Mixed Content Blocks

A cover link group is a basic example of how position creates 3 dimensions. In terms of z, the button is on top, the text-based link is in the middle, and the remainder of the content is on the bottom. This creates a link that covers an entire group of elements (good for accessibility) but also a secondary link (often needed).

Mixed
Content block one

Link One

This is a “cover link”. Great for blog feeds, or groups that need 2 different link destinations.

Mixed
Content block two

Link Two

Hover anywhere to click the text link (the covering link).

Mixed
Content block three

Link Three

Hover over the button to click the button (a different link).

View Additional Robust Positioning Examples

Offsetting and/or Overlapping Elements

So cool!

This effect uses a basic form of absolute positioning to move away from the “boxy” and grid-centric nature of web pages. Neat!

Vertical Alignment – Pseudo Tables

Vertical alignment is not a natural property of most page structuring techniques. Vertical alignment is natural a property of tables, but tables do not work well for responsive. Flex can create vertical alignment, but flex can be wonky. Pseudo tables to the rescue!

This is a modern take on a very old approach, which means it works well – even for really old browsers.

Rah, rah, sis boom bah!

Vertical Alignment – via Flex

Don’t like pseudo tables? Need vertical alignment with a “float right” (reversed HTML order) effect? Flex to the rescue!

Sure, flex can be wonky if used incorrectly, but it also solves this specific problem. Not to mention, flex, properly used, is now supported by “all” modern browsers.

Huzzah!

NOT a background image
This is absolute positioning

Background images behave differently than “actual” images, which often makes this approach desirable.

(this effect uses a semi-transparent background)

Flex Equal Height

Flex can create equal-height items. Flex items adjust height based on row, which can be desirable.

Sometimes, we have groups of content of differing heights.

This example is an exaggeration of a more subtle “problem” often found when aiming to create equal height items.

Change the browser width in order to see how this last column behaves differently than the other items at smaller breakpoints.

View Additional Flexible Height Examples

Flex “Grids”

One

Two

Three

Duis dictum lacinia pellentesque. Maecenas quis tortor interdum enim volutpat lacinia eget eget turpis. Phasellus non congue dui, quis mollis lectus. Interdum et malesuada fames.

Four

Five

Aspect Ratios

Aspect ratios can be used to create equal-height items.

Duis dictum lacinia pellentesque. Maecenas quis tortor interdum enim volutpat lacinia eget eget turpis. Phasellus non congue dui, quis mollis lectus. Interdum et malesuada fames.

Sed nec aliquet dolor, a finibus quam. Morbi lacus arcu, tincidunt id odio id, dignissim dignissim turpis. Donec vestibulum quam in risus tincidunt, sit amet posuere diam commodo. Phasellus eu nunc vulputate, varius libero ac.

Donec condimentum tristique nisl vel pharetra. Nulla et orci sed lectus ullamcorper suscipit. Integer gravida id ipsum et feugiat. In sit amet massa vehicula magna ultrices euismod sed id diam.

Aspect ratios can also create responsive containers or dividers (vertical space), as seen below, bordered in light grey.

Common Aspect Ratios

9:16

2:3

3:4

4:5

1:1

5:4

4:3

3:2

16:9

Height via Font Size

Rather than setting height in px for each breakpoint, we can set the height based on em, and a font size. Because a responsive font size framework is already in place, we automatically have a responsive height framework too. See the spacer below, bordered in light grey.

Hero areas (or call to action sections) often suffer from the “art direction problem”. Desktop views are landscape. Mobile views are portrait. Everything in between tends to be square. How we address this issue depends on a number of factors. This page demonstrates 5 solutions to the art direction problem, but only scratches the surface of what is possible. Worth noting – in some cases, the examples are “intentionally broken” to show where each method has limitations. These limitations can often be worked around or improved.

  1. Background images are often finicky, but offer the simplest version of a parallax effect.
  2. Using position and -1 index allows for the use of an image or a video as the “background image”, but requires tinkering to not “crop” the image (or video).
  3. Using object fit and -1 index allows the use of an actual image (not a background image), but the image behaves like a background image.
  4. Using position with 2 images is a classic solution for the art direction problem, but requires loading 2 images. A variation of this solution is to maintain aspect ratio by altering the elements on top of the image. With this method, we can create parallax effects without using a background image.
  5. Using position and aspect ratio – excellent container consistency but requires fitting content to the container

View Solutions to The Art Direction Problem

Hero Image
Utilizing a Background Image

1 solution for the “art direction problem”

View Sitemap

Hero Image
Utilizing Position and -1 Z-index

1 solution for the “art direction problem”

View Sitemap

Hero Image
Utilizing Object-fit and -1 Z-index

1 solution for the “art direction problem”

View Sitemap

Hero Image
Utilizing Position and 2 Images

1 solution for the “art direction problem”

View Sitemap

Hero Image
Utilizing Position and Aspect Ratios

1 solution for the “art direction problem”

View Sitemap

Please see your Website Overview document, or your specific examples for information regarding what items may need JS loaded on an opt-in basis in order for them to work correctly.

Open Menu

Modal (popup)

Open Modal

FAQs

“FAQ style” collapse does not close other items when one opens.

Answer One: lorem ipsum …

Answer Two: lorem ipsum …

Answer Three: lorem ipsum …

Accordion

“Accordion style” collapse closes other items when one opens.

Learn More One: lorem ipsum …

Learn More Two: lorem ipsum …

Learn More Three: lorem ipsum …

Tabs

Tab One – Donec consequat magna a mollis venenatis. Donec in magna vestibulum, euismod quam a, volutpat risus. Vestibulum ullamcorper in felis nec ultricies. Vestibulum erat ligula, pulvinar posuere posuere nec, sagittis id augue. Aliquam ultrices consectetur lorem feugiat malesuada. In condimentum lacus porttitor, aliquam turpis eu, elementum nunc. Vivamus egestas ac sapien sit amet viverra. Vivamus justo lectus, consequat et sollicitudin eu, ultrices id quam. Sed convallis dolor at orci gravida sollicitudin. Fusce vitae pretium massa. Ut in tempor ligula, eu vulputate nibh. Donec sapien diam, porttitor sed massa interdum, pulvinar condimentum tortor. Maecenas sed est ut libero maximus imperdiet non sed tellus. Cras consectetur lorem ex, at ultricies urna finibus a.

Tab Two – Nam libero libero, tincidunt eu tempor vulputate, eleifend sed odio. Sed ac accumsan dui. Etiam at finibus neque, eu efficitur lectus. Curabitur rutrum vulputate lorem sed commodo. Nulla ornare nibh quis molestie mollis. Cras sit amet odio faucibus, condimentum risus sit amet, placerat elit. Sed hendrerit commodo urna in rhoncus. Fusce ultricies mi elit. Nullam varius turpis vel nunc sagittis, ac gravida magna pharetra. Curabitur pellentesque tellus ac enim tincidunt congue id quis risus. In hac habitasse platea dictumst. Sed purus massa, cursus sit amet orci in, lacinia sollicitudin mauris. Fusce ut dolor leo. Morbi pharetra vulputate vehicula. Sed nec enim ullamcorper, vulputate augue vitae, vulputate est.

Tab Three – Sed ultrices in ligula eu ullamcorper. Donec venenatis nulla lacus, in congue eros ultricies ut. Fusce tempor, arcu ut auctor malesuada, tortor orci faucibus erat, et rhoncus orci dui a sapien. Duis posuere, elit id commodo tincidunt, ante magna aliquam augue, scelerisque lobortis tortor metus at massa. Suspendisse malesuada purus est. Proin eu nisl dui. Nunc a fermentum nisi. Aenean lobortis convallis orci, et sodales mauris ultrices sit amet. Donec tristique, felis ac consequat congue, nisl ex luctus neque, in elementum purus orci id erat. Aliquam erat volutpat. Cras tincidunt, nisl convallis elementum laoreet, magna lacus interdum massa, vitae convallis diam mauris a turpis. Fusce odio lacus, tempor id lorem sed, porta blandit magna. Vivamus felis velit, blandit nec blandit sit amet, facilisis non purus. Vestibulum nec vestibulum dui.

Tab Four – Aliquam placerat in quam a mattis. Pellentesque placerat vitae diam id ornare. Donec aliquet efficitur ex, a molestie massa fermentum mollis. Phasellus luctus erat at metus malesuada, vitae mollis leo auctor. Praesent vitae velit finibus, sollicitudin massa nec, tincidunt lacus. Aenean nulla arcu, dapibus id lectus semper, fermentum ullamcorper est. Nullam lacinia ex ut ante consequat, vitae imperdiet ex imperdiet. Pellentesque ipsum nisl, malesuada non nunc a, ornare venenatis massa. Ut eget nisl tincidunt, ultricies tellus id, ultrices lacus. Sed semper cursus interdum. Nulla pretium consectetur pellentesque. Ut sit amet sodales mauris, eu viverra tellus. Aliquam metus nisl, suscipit non hendrerit et, consectetur in nibh. Morbi sed congue nibh.

Equal Height

JS-based equal height blocks … better than a left handed hammer.

Seriously good stuff!

On web pages, height is “weird” because it is infinite. Common equal height solutions are tables, flex, aspect ratio, or JavaScript. While tables have their uses, it is far more common that we leverage pseudo tables. Flex is ok, but may have wonky results. Aspect ratio can be complicated. JS-driven equal height blocks can be a good solution depending on the desired outcome.

Uses include tiles, info-boxes, compare tables, cards or any time you want a group of items of equal height.

Pro tip – drop these into a Slick Slider for mobile.

Mobile Menus: Two mobile menu options – “simple” or “robust”.

JS-based Parallax

JS-based parallax has various advantages over a simple background image parallax effect. Chief among those advantages – the use of an actual image – making the addition of a parallax image much easier.

The speed of the parallax effect can easily be adjusted on a per-instance basis.

Testing Tools

Some Code i Wrote Quality Standard

When in doubt, please refer to my website quality standard.

Breakpoint (Screen Width) Indicator

This page includes a breakpoint (screen width) indicator. The indicator is a helpful tool for creating good responsive experiences or for debugging.

This indicator can be added to any page or post – or the the footer or header on dev. Alternatively, you can use two tabs – one for this page and one for a page you are working on.

  • size
  • xxs
  • xs
  • sm
  • md
  • lg
  • xl
  • xxl
  • xxxl

Look at that … no footer space!

Out of the box, there is a spacer between the end of the page content and the footer. Sometimes you want to remove this space.

The class “CTA” (short for call to action) on the last page parent element will remove this space.