Endicia Styleguide
This page is here to show off styles for standard page elements such as typography, form elements, and icons. These are hard coded in an alternate page template file named page.styles.liquid
.
Table of Contents
- Type
- Colors
- Typography
- Grid System
- Content Grid
- Tables
- Buttons
- Forms
- Page Elements
- Frames
- Cards
- Miscellaneous elements
- Iconography
- UI Elements
Type
OPEN SANS BOLD
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
OPEN SANS
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
Colors
Grayscale
Abbey Gray
#4E4E50$abbey-gray
Boulder Gray
#7C7A7A$boulder-gray
Bombay Gray
#ABABAE$bombay-gray
Iron Gray
#DCDDDE$iron-gray
Haze Gray
#F1F2F2$haze-gray
Concrete Gray
#F9F9F9$concrete-gray
Main
Chill Blue
#097E98$chill-blue, $primary
Poppy Yellow
#F69716$poppy-yellow, $secondary
Mako Gray
#3D4148$mako-gray
Typography
Headings
H1 Open Sans Semi Bold
H2 Open Sans Semi Bold
H3 Open Sans Semi Bold
H4 Open Sans Semi Bold
H5 Open Sans Semi Bold
H6 Open Sans Bold
Type variations
Lead Open Sans Regular
P1 Open Sans Regular
P2 Open Sans Regular
P3 Open Sans Regular
Paragraphs
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse eleifend, enim nec tempor facilisis, urna dui hendrerit odio, sed laoreet ex metus commodo enim. Praesent vehicula malesuada ornare. Nulla in velit sit amet ligula convallis placerat ut sit amet nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus lobortis justo eu condimentum gravida. Aenean a sapien laoreet, scelerisque libero sit amet, ultrices est. Maecenas eu odio suscipit, maximus ligula eu, scelerisque sapien.
Mauris justo purus, bibendum ut molestie vitae, hendrerit in ipsum. Fusce commodo justo in lorem mattis, ut sagittis erat auctor. Maecenas dignissim, felis eu tempor varius, lorem nulla luctus augue, non volutpat massa sem nec felis. Suspendisse accumsan aliquam ornare. Suspendisse commodo nec arcu id imperdiet. Praesent tincidunt condimentum est non fermentum. Donec id malesuada enim. Nullam finibus arcu nulla, vestibulum egestas leo aliquet vel. Phasellus sed maximus eros.
Pellentesque imperdiet velit eu fringilla sagittis. Duis enim nibh, mattis id justo sed, euismod posuere diam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent egestas ultricies nunc a bibendum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras volutpat tellus tincidunt blandit efficitur. Sed maximus leo ultricies massa auctor egestas. Pellentesque aliquet aliquam porta. Vestibulum convallis libero et metus ornare, sit amet posuere dolor semper.
Type styles
- Strong
- Emphasis
- Inline link
- Strike
- Sup
Text Utilities
- .font-weight-normal
- .font-weight-bold
- .letter-spacing-base
- .text-black
- .text-abbey-gray
- .text-boulder-gray
- .text-bombay-gray
- .text-iron-gray
- .text-haze-gray
- .text-concrete-gray
- .text-woodsmoke-gray
- .text-chill-blue
- .text-poppy-yellow
- .text-mako-gray
- .text-white
- .text-muted
- .text-primary
- .text-secondary
- .text-success
- .text-info
- .text-warning
- .text-danger
Background Color Utilities
- .bg-black
- .bg-abbey-gray
- .bg-boulder-gray
- .bg-bombay-gray
- .bg-iron-gray
- .bg-haze-gray
- .bg-concrete-gray
- .bg-woodsmoke-gray
- .bg-chill-blue
- .bg-poppy-yellow
- .bg-mako-gray
- .bg-white
- .bg-primary
- .bg-secondary
- .bg-success
- .bg-info
- .bg-warning
- .bg-danger
Lists
|
|
Numeric bullet
|
|
Child lists (to match the RTE styles) |
|
RTE
Styles specific to text that comes out of the rich text editor.
- One
- Two
- Three, with child list
- First sub item
- Second sub item
- Third sub item, with ordered child list
- Third level item
- Another third level item
- Four
This is an example paragraph that comes out of the rich text editor. This sentence contains a link so you can verify what link styles look like. Free-market sprawl garage hotdog monofilament tube dolphin sunglasses kanji vehicle pen ablative Shibuya range-rover marketing assassin. Sub-orbital tanto sign military-grade tattoo corrupted camera lights dead cardboard j-pop marketing apophenia film jeans. Fetishism concrete claymore mine table j-pop nano-geodesic post-rain carbon garage sign savant refrigerator saturation point grenade.
This is an example paragraph that comes out of the rich text editor. This sentence contains a link so you can verify what link styles look like. Free-market sprawl garage hotdog monofilament tube dolphin sunglasses kanji vehicle pen ablative Shibuya range-rover marketing assassin. Sub-orbital tanto sign military-grade tattoo corrupted camera lights dead cardboard j-pop marketing apophenia film jeans. Fetishism concrete claymore mine table j-pop nano-geodesic post-rain carbon garage sign savant refrigerator saturation point grenade.
RTE Heading
This is an example paragraph that comes out of the rich text editor. This sentence contains a link so you can verify what link styles look like. Free-market sprawl garage hotdog monofilament tube dolphin sunglasses kanji vehicle pen ablative Shibuya range-rover marketing assassin. Sub-orbital tanto sign military-grade tattoo corrupted camera lights dead cardboard j-pop marketing apophenia film jeans. Fetishism concrete claymore mine table j-pop nano-geodesic post-rain carbon garage sign savant refrigerator saturation point grenade.
Note: Any table elements that come out of the rich text editor are will automatically have a responsive wrapper applied to them. This allows them to scroll on small screens without breaking the site layout.
Grid System
Extra Small (<576px) |
Small (≥576px) |
Medium (≥768px) |
Large (≥992px) |
Extra Large (≥1200px) |
Extra Extra Large (≥1480px) |
|
---|---|---|---|---|---|---|
Max Container width | None (auto) | 540px | 720px | 960px | 1140px | 1440px |
Class prefix | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
.col-xxl- |
# of columns | 12 | |||||
Gutter width | 30px (15px on each side of a column) | |||||
Nestable | Yes | |||||
Offsets | Yes | |||||
Column ordering | Yes |
Content Grid
The content grid is an alternative way to layout content similar to the Bootstrap grid but it doesn't rely on rows and columns. It used the same sizing and gutters to ensure layout consistency, but the usage is slightly different.
The content grid relies on a parent .content-grid
element with any number of direct child .content-grid__item
elements. The child element sizing is parent on the parent grid element and any modifier classes it may have. The default grid is responsive and initially displays 1 item per row and expands to show 2, and 3 items per row as the screen crosses the small
and large
breakpoints respectively.
Responsive modifier classes are available to generate 1 -> 6 columns per breakpoint and work similar to Bootstrap responsive utilities. Any breakpoint class applies to that breakpoint and up. If you add another class for a larger breakpoint it will override any ones applying at smaller breakpoints.
Below is an example of the default content grid.
Responsive Content Grid Layouts
Modifier classes are available to create alternate grid layouts
Use .content-grid--sm-3-col.content-grid--xxl-6-col
to create a 3 column grid on screens large than the sm
breakpoint and a 6 column grid on screens larger than the xxl
breakpoint.
Alternate Content Grid Spacing
Use the content-grid--flush
modifier class to make all grid items flush with each other.
Combine with frames to make tiled layouts.
Use the .content-grid--tight
and .content-grid--loose
modifier classes to adjust vertical spacing between grid items.
Tight Grid
Loose Grid
Tables
Responsive Tables
Wrap tables with a .table-responsive
element to enable horizontal scrolling on small screens. All child table elements of an .rte
element are wrapped by default via javascript.
Order | Date | Payment Status | Fulfillment Status | Total |
---|---|---|---|---|
#1001 | December 22, 2015 | Authorized | Unfulfilled | $43.03 |
#1002 | December 23, 2015 | Authorized | Unfulfilled | $44.03 |
#1003 | December 24, 2015 | Authorized | Unfulfilled | $45.03 |
#1004 | December 25, 2015 | Authorized | Unfulfilled | $46.03 |
Small Tables
Sizes | XXS | XS | S | M | L |
---|---|---|---|---|---|
Bust | 32"-34" | 34"-36" | 36"-38" | 38"-40" | |
Under Bust | 32"-34" | 34"-36" | 36"-38" | 38"-40" | |
Waist | 23.5"-24.5" | 32"-34" | 34"-36" | 36"-38" | 38"-40" |
Hip | 33"-34" | 32"-34" | 34"-36" | 36"-38" | 38"-40" |
Border-less Tables
Sizes | XXS | XS | S | M | L |
---|---|---|---|---|---|
Bust | 32"-34" | 34"-36" | 36"-38" | 38"-40" | |
Under Bust | 32"-34" | 34"-36" | 36"-38" | 38"-40" | |
Waist | 23.5"-24.5" | 32"-34" | 34"-36" | 36"-38" | 38"-40" |
Hip | 33"-34" | 32"-34" | 34"-36" | 36"-38" | 38"-40" |
Buttons
Inverse buttons
Add a modifier class .reverse
to the element or it's parent.
Forms
Forms are based on Bootstrap 4's form component. Simple examples to listed here to use as a reference for styling, for more detailed information about how they work, please see the official documentation.
Default Forms
Floating labels
Note: To use floating labels, you must:
- Include the modifier class
.float-label-input-wrap
to the.form-group
element. - Recreate the HTML structure seen here (input followed by label).
- Add a placeholder attribute (this won't be visible, but needs to be present for the
:placeholder-shown
selector to trigger!)
Minimal Input Floating labels
Note: To use floating labels, you must:
- Include the modifier class
.float-label-input-wrap
to the.form-group
element. - Recreate the HTML structure seen here (input followed by label with modifier class
.minimal-input-box__label
). - Add a placeholder attribute (this won't be visible, but needs to be present for the
:placeholder-shown
selector to trigger!)
Minimal Input
Invisible labels
Add a class of sr-only
to a label to visually hide it, while keeping it accessible to screen readers. Use the placeholder
attribute as your visible label.
Note: The placeholder
attribute only works in IE10+, so invisible labels are disabled in IE9 and below.
Horizontal Forms
Create horizontal forms with the grid by adding the .row
class to form groups and using the .col-*-*
classes to specify the width of your labels and controls. Be sure to add .col-form-label
to your label elements as well so they’re vertically centered with their associated form controls.
Inline Forms
Other Form Elements
Custom Forms
Use completely custom form elements to replace browser defaults.
Note About Select Elements
This theme is using the Chosen library to enhance native select tags. By default, any select.form-control
elements are targeted and initialized on page load. If you want to avoid this, add the data-no-chosen
attribute to your select tag and it will be left alone.
Page Elements
Page Header
Use this element at the top of pages to add consistent titles + subtitles. You can also use this element without the subtitle if necessary. This element also works with left and right modifier classes to change text alignment.
I'm a page title
I'm a page subtitle. I have a maximum width applied to prevent lines of text from getting unnecessarily long and becoming hard to read.
Content Header / Footer
Use these elements to create sections of content throughout the body of the page. While page header should be used once at the top, the content header can be used multiple times.
Content Header Title Goes Here
Frames
Use frames to create elements with defined aspect ratios. All frames require the .frame
base class and a modifier class to define their aspect ratio. See /_styles/components/frames.scss
to adjust available ratios.
There is also a child element .frame__inner
that is positioned absolutely and stretches the full dimensions of the frame.
Responsive Frames
Responsive frame sizing is available and works similar to Bootstrap responsive utilities, any breakpoint class applies to that breakpoint and up. If you add another class for a larger breakpoint it will override any ones applying at smaller breakpoints. Frame sizing being applied to screen sizes smaller than $grid-breakpoints('sm')
do not need a responsive class.
.frame
.frame--16x9
.frame--sm-6x4
.frame--md-1x1
.frame--lg-3x4
.frame--xl-4x6
Cards
From Bootstrap: A card is a flexible and extensible content container. It includes options for headers and footers, a wide variety of content, contextual background colors, and powerful display. See the official documentation for full list of options.
Use these in conjunction with the collapse.js
plugin markup to create elements with toggle-able visibility and accordion-like behavior. See the collapse component for implementation.
Featured
Card title
Some quick example text to build on the card title and make up the bulk of the card's content.
Go somewhereNOTE: These elements have nothing in common with the more specific card snippets that we have created as Shopify theme components (.article-card
, .product-card
, etc..). It is just an unfortunate naming clash as these elements were created before switching over to Bootstrap 4.
Miscellaneous elements
Horizontal Rules
Default hr
Alerts
Iconography
Read more about using, creating, and editing SVG icons in Slate's documentation.
General icons
UI Elements
Arrows
Arrow elements are mostly used for slideshow controls. The root element has the base arrow
class applied to it and directional modifier classes are available.
This child element easily be swapped out for a png, svg, or other icon made of pseudo elements.
Breadcrumbs
Pagination
Dots
Dots are an alternate UI used primarily for displaying / selecting variant option values. They respond to the two state classes .is-active
and .is-disabled
. Active dots will show a border around them, disabled dots will show with partial opacity and a strike through.
Use the .dots--small
modifier class to create smaller dots when space is tight.