Colors

Color palette:

@orange-900:
#b84c0d
@orange-500:
#ed6d20
@orange-400:
#f18c3e
@orange-50:
#fdeee3
@blue-900:
#024097
@blue-500:
#056fd2
@blue-400:
#64bbf1
@blue-50:
#e3f1fe
@green-900:
#417b3b
@green-500:
#60ad56
@green-400:
#7ac276
@green-50:
#eef6e6
@yellow-900:
#8a6b2c
@yellow-500:
#f6bb42
@yellow-400:
#ffce54
@yellow-50:
#fef4e0
@red-900:
#b5230d
@red-500:
#e9573f
@red-400:
#fc6e51
@red-50:
#fce6e3
@purple-900:
#522544
@purple-500:
#703e60
@purple-400:
#8b587b
@purple-50:
#eee6eb
@gray-900:
#1d1b1a
@gray-800:
#363232
@gray-700:
#464241
@gray-600:
#736e6d
@gray-500:
#afabaa
@gray-400:
#c4c1c1
@gray-300:
#d8d6d6
@gray-200:
#eceaea
@gray-100: #f4f3f2
@gray-50: #f9f8f8

Background colors:

@backgroundBlue: @blue-50
@backgroundGray: @gray-200

Border colors:

@borderGray: @gray-200

Text colors:

  • @textColorStandard: @gray-900
  • @textColorMuted: @gray-600
  • @textColorDisabled: @gray-500

Link colors:

Typography

Use sentence case for headers and buttons. i.e. capitalize the first word only.

Primary headers:

h1. Very large header, 42px 26px

h2. Large header, 26px 20px

h3. Medium header, 22px 18px

h4. Moderate header, 20px 16px

h5. Small header, 16px 14px
h6. Tiny header, 14px
<h1>h1. Very large header</h1>
<h2>h2. Large header</h2>
<h3>h3. Medium header</h3>
<h4>h4. Moderate  header</h4>
<h5>h5. Small header</h5>
<h6>h6. Tiny header</h6>

Secondary headers:

h1. Very large header

h2. Large header

h3. Medium header

h4. Moderate header

h5. Small header
h6. Tiny header
<h1 class="light-header">h1. Very large header</h1>
<h2 class="light-header">h2. Large header</h2>
<h3 class="light-header">h3. Medium header</h3>
<h4 class="light-header">h4. Moderate  header</h4>
<h5 class="light-header">h5. Small header</h5>
<h6 class="light-header">h6. Tiny header</h6>

Paragraphs:

We have three differents sizes for our paragraph texts: large which increases the font size to 16px, our standard which is 14px, and a small size which is 12px.

Introduction text has a custom size and line height. Use this style for the initial summary paragraph of blog posts, or for a supporting descriptive sentence or two beneath a header.

This is the default style used for all text that is not a headline. Use this style for paragraphs and for most pieces of text longer than a few words. This is a link

Small text should be used for tips or information that are handy but not critically important — for example, hints beneath form fields.

<p class="text-large">Introduction text has a custom size and line height...</p>
<p>This is the default style used for all text that is not a headline...</p>
<p class="text-small">Small text should be used for tips or information...</p>

Typography helpers

When modifying text properties (font-size, font-weight etc), try to do so by using the .text-* classes.

.text-large

Sample text

14% larger than our standard type


.text-small

Sample text

14% smaller than our standard type


.text-bold

Sample text

Also applies to <b> and <strong>


.text-semibold

Sample text

Uses the semi-bold variant of the font


.text-normal

Sample text

Uses the normal variant of the font


.text-thin

Sample text

Uses the light variant of the font


.text-nowrap

Sample text

Prevents text from wrapping. Ex. phone numbers


.text-wrap

Sample text

Break and wrap single strings that are too long for their parent container. Ex. URLs


.text-caps

Sample text

Converts text to uppercase


.text-light

Sample text

Uses @textColorMuted


.text-disabled

Sample text

Uses @textColorDisabled


.text-error

Sample text

Uses @red-500 and semi-bold variant of our font


.text-noselect

Sample text

Prevent text from highlighting on select

Built-in Foundation text helpers:

.text-left

Sample text

Left aligned


.text-right

Sample text

Right aligned


.text-center

Sample text

Centered


.text-justify

Sample text

Justified

Text color helpers:

These should only be used when the design calls for it, which is very rarely.

.text-orange

Sample text

Sample text with Bold text inside


.text-blue

Sample text

Sample text with Bold text inside


.text-green

Sample text

Sample text with Bold text inside


.text-yellow

Sample text

Sample text with Bold text inside


.text-red

Sample text

Sample text with Bold text inside


.text-white

Sample text

*Gray background only added for purpose of example

UI Elements

UI elements are a shared set of common elements used throughout the site. They are designed to work together to form a cohesive look.

Progress indicator:

1. Step One 2. Step Two 3. Step Three 4. Step Four
<div class="ui-progress-indicator" data-progress-step="3" data-total-steps="4">
    <span class="ui-step">1. Step One</span>
    <span class="ui-step">2. Step Two</span>
    <span class="ui-step">3. Step Three</span>
    <span class="ui-step">4. Step Four</span>
    <span class="ui-current-progress" style="width: 75%;"></span>
</div>
Progress indicator dark version:
1. Step One 2. Step Two 3. Step Three 4. Step Four
<div class="ui-progress-indicator dark-version" data-progress-step="2" data-total-steps="4">
    <span class="ui-step">1. Step One</span>
    <span class="ui-step">2. Step Two</span>
    <span class="ui-step">3. Step Three</span>
    <span class="ui-step">4. Step Four</span>
    <span class="ui-current-progress" style="width: 50%;"></span>
</div>

Breadcrumbs:

<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "BreadcrumbList",
        "itemListElement": [
            { "@type": "ListItem", "position": 1, "item": { "@id": "https://www.wyzant.com#", "name": "Page One" } },
            { "@type": "ListItem", "position": 2, "item": { "@id": "https://www.wyzant.com#", "name": "Page Two" } },
            { "@type": "ListItem", "position": 3, "item": { "@id": "https://www.wyzant.com#", "name": "Page Three" } },
            { "@type": "ListItem", "position": 4, "item": { "@id": "https://www.wyzant.com/styleguide?pagenumber=1&pagesize=10", "name": "Page Four" } }
        ]
    }
</script>
<nav class="ui-breadcrumbs">
    <a href="#">Page One</a>
    <a href="#">Page Two</a>
    <a href="#">Page Three</a>
    <span class="ui-current">Page Four</span>
</nav>

Tab navigation:

<nav class="ui-tab-navigation">
    <a href="#">Tab One</a>
    <a class="ui-current" href="#">Tab Two</a>
    <a href="#">Tab Three</a>
</nav>

Side navigation:

<ul class="ui-side-navigation">
    <li class="ui-header">All the pages</li>
    <li><a href="#">Page One</a></li>
    <li><a href="#">Page Two</a></li>
    <li><a href="#">Page Three</a></li>
    <li><a class="ui-current" href="#">Page Four</a></li>
</ul>

Pagination:

<nav class="ui-pagination clearfix">
    <div class="medium-right">
        <span class="ui-page-navigation" rel="nofollow">«</span>
        <a class="ui-page-navigation" href="/styleguide?pagenumber=1&pagesize=10" rel="nofollow">‹</a>
        <a class="ui-page-link" href="/styleguide?pagenumber=0&pagesize=10" rel="nofollow">1</a>
        <a class="ui-page-link" href="/styleguide?pagenumber=1&pagesize=10" rel="nofollow">2</a>
        <a class="ui-current ui-page-link" href="/styleguide?pagenumber=2&pagesize=10" rel="nofollow">3</a>
        <a class="ui-page-link" href="/styleguide?pagenumber=3&pagesize=10" rel="nofollow">4</a>
        <a class="ui-page-link" href="/styleguide?pagenumber=4&pagesize=10" rel="nofollow">5</a>
        <a class="ui-page-navigation" href="/styleguide?pagenumber=3&pagesize=10" rel="nofollow">›</a>
        <span class="ui-page-navigation" rel="nofollow">»</span>
    </div>
    <div class="right medium-left">
        <select class="pageSize input-inline auto-width" data-path="/StyleGuide?pageNumber=0&pageSize=10" data-val="true" data-val-number="The field Page Size must be a number." data-val-required="The Page Size field is required." id="PageSize" name="PageSize">
            <option selected="selected" value="10">10</option>
            <option value="25">25</option>
            <option value="50">50</option>
            <option value="100">100</option>
        </select> per page
    </div>
</nav>

Simple pagination:

<nav class="clearfix">
    <a class="left" href="/styleguide?pagenumber=1&pagesize=10" rel="noindex"><i class="wc-angle-left"></i> Previous Page</a>
    <a class="right" href="/styleguide?pagenumber=3&pagesize=10" rel="noindex">Next Page <i class="wc-angle-right"></i></a>
</nav>

Overlay:

Add the .ui-overlay class to any element you want covered by an overlay. If you need the overlay to cover the entire page, add the .ui-overlay-page class.

This is content will be covered by an overlay...

<div class="ui-overlay">
    <p>This is content will be covered by an overlay...</p>
</div>

Loaders:

Loaders are the styled loading icons used to show the user we are waiting on something to happen. They are available in 3 sizes, the default size is 15px, medium is 50px and large is 100px. They are available in 3 colors, the default color is multi, and the other two options are orange or green. The preferred color is the multi loader, and the green and orange should only be used if explicitly asked to by product.

Small Multi Loader (typically resrved for input elements)
@UiLoader.LoaderSmall(UiLoader.Colors.multi)

Medium Multi Loader
@UiLoader.LoaderMedium(UiLoader.Colors.multi)

Large Multi Loader
@UiLoader.LoaderLarge(UiLoader.Colors.multi)

Color Options:

Adding a .ui-loader to a .ui-overlay element will center the loader both vertically and horizontally inside the overlay.

This is content will be covered by an overlay with a loader...
This is content will be covered by an overlay with a loader...
This is content will be covered by an overlay with a loader...

<div class="ui-overlay">
    @UiLoader.LoaderMedium(UiLoader.Colors.multi)
    <p>...</p>
</div>

Tooltips:

A tooltip displays brief helper text when hovering over the triggering element. Our tooltips support HTML inside the tip and are CSS only.

NOTE: In order to z-index the tooltip content and the tooltip arrow correctly, content within the .ui-tooltip element should be wrapped in any tag (not just a text node).

Hover Here Lorem ipsum dolor sit, consectetur adipiscing.
<span class="ui-tooltip-trigger ui-tooltip-trigger-underline">
    Hover Here
    <span class="ui-tooltip">
        <span class="ui-tooltip-arrow"></span>
        <span>Lorem ipsum dolor sit, <strong>consectetur</strong> adipiscing.</span>
    </span>
</span>

To align the tooltip differently, apply a data-position attribute with a value equal to [left|right|center] [bottom|top]

Hover here for a right aligned tooltip (below text) Lorem ipsum dolor sit, consectetur adipiscing.
Hover here for a center aligned tooltip (below text) Lorem ipsum dolor sit, consectetur adipiscing.
Hover here for left aligned tooltip (above text) Lorem ipsum dolor sit, consectetur adipiscing.
<span class="ui-tooltip" data-position="right bottom">

To suppress the tooltip arrow, do not add the ui-tooltip-arrow element.

No arrow on this hover Lorem ipsum dolor sit, consectetur adipiscing.

NOTE: If your tooltip trigger content spans multiple lines, it must be a block or inline-block level element for the tooltip to position below it correctly.

Round images:

The .round-photo-* classes are used to create circular images. There are two elements used to create a round profile photo: the container and the image element itself. By default, the .round-photo class does not have a width or height. If a width or height is not provided, the image will stretch to fill its entire container. Use one of our helper classes in combination with the .round-photo class to get default width and height styles.

.round-photo-small

Width and height of 50px


.round-photo-medium

Width and height of 90px


.round-photo-large

Width and height of 140px

<div class="round-photo round-photo-large">
    <img src="https://www.site.com/image.jpg">
</div>

Section Headers

Used to help define content sections. Often used in conjunction with a table of data.

Header title

<div class="gray-header">
    <h3>Header title</h3>
</div>

Horizontal Rules

For dividing content.

Standard hr


<hr>

Dotted hr


<hr class="dotted">

Spacing Helpers

Spacing helpers will set the margin(s) of the element they are applied to. This element must be block or inline-block for the margins to take effect. The spacing classes are based on the cardinal directions, north, south, east, and west.

Extra large spacing:

.spc-xl
60px TOP/BOTTOM

.spc-xl-n
60px TOP

.spc-xl-s
60px BOTTOM

Normal spacing:

.spc
30px TOP/BOTTOM

.spc-n
30px TOP

.spc-s
30px BOTTOM

Medium spacing

.spc-med
20px TOP/BOTTOM

.spc-med-n
20px TOP

.spc-med-s
20px BOTTOM

Small spacing:

.spc-sm
10px TOP/BOTTOM

.spc-sm-n
10px TOP

.spc-sm-s
10px BOTTOM

Tiny spacing:

.spc-tiny
5px TOP/BOTTOM

.spc-tiny-n
5px TOP

.spc-tiny-s
5px BOTTOM

No spacing:

Remove any default or declared margins.

.spc-zero
0px TOP/BOTTOM

.spc-zero-n
0px TOP

.spc-zero-s
0px BOTTOM

East and west are only available in one size, which is based on our standard column spacing.

.spc-ew
1em RIGHT/LEFT

.spc-e
1em RIGHT

.spc-w
1em LEFT

Responsive spacing helpers:

In addition to the above spacing helpers, we also have the ability to change the space between elements based on what screen resolution we are currently on. For instance, we can create a space of just 10px between two elements on mobile devices and increase that all the way up to 60px for laptop screens. The folllowing code snippet illustrates how we would create this dynamic spacing on an headline element. If you resize your screen to multiple viewports, you can see this space between the headline and the paragraph below it increase and decrease.

Responsively Spaced Headline

Helping paragraph text here.

<h1 class="spc-sm medium-spc large-spc">Responsively Spaced Headline</h1>

Form Elements

Form inputs and labels are full-width block elements by default. Sizing and spacing should be handled with the grid classes and spacing helpers.

<form>
    <div class="row">
        <div class="column small-8">
            <label for="Name">Name</label>
            <input type="text" name="Name" value="" />
        </div>
    </div>
    <div class="row">
        <div class="column small-8">
            <label for="Address">Address</label>
            <input type="text" name="Address" value="" />
        </div>
    </div>
    <div class="row">
        <div class="column small-8">
            <label for="Bio">Bio</label>
            <textarea name="Bio"></textarea>
        </div>
    </div>
    <div class="row">
        <div class="column small-8">
            <button type="button" class="btn">Submit</button>
        </div>
    </div>
</form>

Labels:

Form label text should always be placed in a <label /> with the for="element-name" attribute set. This lets users click labels to activate form fields, and is important for accessibility.

In most cases, labels should be placed above inputs.

<label for="Address">Name</label>
<input type="text" name="Address" value="" />

Labels can have help text and a help action.

What's this?

Inputs:

The type attribute of the input should be set to the most appropriate value for the field type.

<input type="text" name="Address" value="" />

Textarea:

<textarea name="Bio"></textarea>

Selects:

<select name="Options">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
</select>

Radio / Checkbox:

<input type="radio" name="Radio" value="" /> Radio
<input type="checkbox" name="Checkbox" value="" /> Checkbox

Error states:

Input validation should be handled using MVC validation as much as possible. The error span that is shown and populated with the message should be added using the MVC helper @Html.ValidationMessage()

Please enter a message
<label for="Message">Message</label>
<input class="input-validation-error" type="text" name="Message" value="" />
<span class="field-validation-error">Please enter a message</span>

This is just an example of markup MVC validation might output.

Buttons

Buttons should all have the base class .btn and modifier classes in like so: .btn-secondary, .btn-small etc. When possible, class names should reflect the purpose of the button rather than the exact color or styling, which may change.

Primary button:

The principle, most important action Wyzant wants you to take. Examples include, Reply button for messages in the student dashboard. Prompt replies are essential to matching students and tutors.

<a class="btn" href="#">...</a>
<a class="btn btn-disabled" href="#">...</a>

Secondary button:

Actions that are less important than primary. Examples include, the tutor Search button in the student dashboard. Searching for new tutors is a common action, but not as important as replying to new messages.

<a class="btn btn-secondary" href="#">...</a>
<a class="btn btn-secondary btn-disabled" href="#">...</a>

Alternate button:

Cancellations, negative answers, or alternate options when paired with primary or secondary. Examples include, the Not Interested button in the student dashboard. It sits adjacent to the Reply button.

<a class="btn btn-alt" href="#">...</a>
<a class="btn btn-alt btn-disabled" href="#">...</a>

Ghost button:

A button similar to alternate, but for use over images or areas with a dark color. Examples include, buttons placed over hero images or other dark backgrounds where an alternate button wouldn’t work.

<a class="btn btn-ghost" href="#">...</a>
<a class="btn btn-ghost btn-disabled" href="#">...</a>

Button arrow:

Indicate to the user that there is more to do after they click the button.

<a class="btn btn-arrow" href="#">...</a>

Buttons inside notifications:

Buttons used inside notifications will be styled to better match the notification type and prevent color clashes.

Button sizes:

.btn-small
<a class="btn btn-small" href="#">...</a>

.btn-wide
<a class="btn btn-wide" href="#">...</a>

.btn-wide-mobile
<a class="btn btn-wide-mobile" href="#">...</a>

Button spacing:

When buttons are placed next to each other they typically need some space between them. To achieve this use any of these classes:

.btn-spc
<a class="btn">...</a>
<a class="btn btn-spc">...</a>
<a class="btn">...</a>

.btn-spc-w
<a class="btn">...</a>
<a class="btn btn-spc-w">...</a>

.btn-spc-e
<a class="btn btn-spc-e">...</a>
<a class="btn">...</a>

.btn-spc-lrg-w
<a class="btn">...</a>
<a class="btn btn-spc-lrg-w">...</a>

.btn-spc-lrg-e
<a class="btn btn-spc-lrg-e">...</a>
<a class="btn">...</a>

Lists

Standard bulleted list:

By default ordered and unorderd lists have their top and bottom margins set and left padding adjusted. The list items have all margins and padding reset except for a small amount of bottom padding.

  • list item
  • list item
  • list item
<ul>
    <li>list item</li>
    <li>list item</li>
    <li>list item</li>
</ul>

Unstyled list:

To un-style a list, simply add the .reset class to the list element. This will remove all margins, padding, and list-styles.

  • list item
  • list item
  • list item
<ul class="reset">
    <li>list item</li>
    <li>list item</li>
    <li>list item</li>
</ul>

Styled numbered lists:

Numbered lists should leverage the .ui-numbered-list class. Standard Foundation classes should be used to create multiple column layouts. The default list colors are gray bullets with white text.

  1. list item with a longer title or more content
  2. list item
  3. list item
<ol class="ui-numbered-list">
    <li>list item with a longer title or more content</li>
    <li>list item</li>
    <li>list item</li>
</ol>
  1. list item with a longer title or more content
  2. list item
  3. list item
<ol class="ui-numbered-list row">
    <li class="column medium-4">list item with a longer title or more content</li>
    <li class="column medium-4">list item</li>
    <li class="column medium-4">list item</li>
</ol>

The .dark-version class is available to create a styled list with white bullets and blue text.

  1. list item with a longer title or more content
  2. list item
  3. list item
  1. list item with a longer title or more content
  2. list item
  3. list item

Sales point lists:

  • sales point with a longer title or more content
  • sales point
  • sales point
<ul class="ui-salespoint-list">
    <li>sales point with a longer title or more content</li>
    <li>sales point</li>
    <li>sales point</li>
</ul>

Grids

The site uses Foundation's 12-column grid. Column widths are defined as a percentage of their parent and gutters are fixed at 2em.

.small-12

.small-6

.small-6

.small-4

.small-4

.small-4

.small-3 3

.small-3 3

.small-3 3

.small-3 3

.small-2 2

.small-2 2

.small-2 2

.small-2 2

.small-2 2

.small-2 2

One column can have different widths at different breakpoints. The width can be defined at the small, medium and large breakpoints using this pattern .<breakpoint>-<width>.

This column will span 5/6 on mobile, 2/3 on tablet and 1/2 on desktop.

<div class="row">
    <div class="column small-10 medium-8 large-6">
        <p class="box-gray">This column will span 5/6 on mobile, 2/3 on tablet and 1/2 on desktop.</p>
    </div>
</div>

If no width is defined for the current breakpoint, the width from the smaller breakpoint will be used. If no width is defined at all the column will span 100%.

This column will span 100% on mobile and 2/3 on tablet and desktop.

<div class="row">
    <div class="column medium-8">
        <p class="box-gray">This column will span 100% on mobile and 2/3 on tablet and desktop.</p>
    </div>
</div>

Centering items vertically within the grid:

This is most often used on heroes to center all the content over a background image. When used in combination with the .text-center class, the text becomes both horizontally and vertically centered. View an on site example within the hero of the tutoring tips page.

Vertically Centered Headline

Here is just some more text to see it all centered.

Button
<div class="flex-center-items text-center">
    <div class="column">
        <h4 class="text-center">Vertically Centered Headline</h4>
        <p class="text-center">Here is just some more [...] all centered.</p>
        <a class="btn" href="#">Button</a>
    </div>
</div> 

Tables

Standard data table:

Used for tabular data. Just add the class .wyzTable to any <table> element.

Table Header

column column column column
data data data data
data data data data
data data data data
<div class="gray-header">
    <h3>Table Header</h3>
</div>
<table class="wyzTable">
    <tr>
        <th>column</th>
        <th>column</th>
        <th>column</th>
        <th>column</th>
    </tr>
    <tr>
        <td>data</td>
        <td>data</td>
        <td>data</td>
        <td>data</td>
    </tr>
    <tr>
        <td>data</td>
        <td>data</td>
        <td>data</td>
        <td>data</td>
    </tr>
    <tr>
        <td>data</td>
        <td>data</td>
        <td>data</td>
        <td>data</td>
    </tr>
</table>

Auto-width data table:

Small tables that shouldn't span the entire parent width. Just add the class .inline to any <table class="wyzTable">.

column column
data - data data - data
data - data data - data
data - data data - data

Data table with selectable/clickable rows:

Some tables may need to allow a user to select a row via radio button or click anywhere on the row to trigger a link. The selectable row styling is initized with a jQuery plugin ($.tableRowSelecter()) – no additional classes are needed in the markup.

column column
data - data data - data
data - data data - data
data - data data - data
data - data data - data
data - data data - data

Responsive forms - table substitute:

Display data in columns by adding the class .responsiveTable. Leverages Foundation classes for column widths. Typical markup structure is a fieldset element with the .responsiveTable class which contains multiple elements with the .row class.

Form table:

Layout column-based forms. When multiple inputs are on a row, the .small-stacked and .medium-stacked classes will add top padding to columns at their respective break-points.

<fieldset class="responsiveTable inputTable">
    <div class="row">
        <div class="column medium-3">
            <label>Label</label>
        </div>
        <div class="column medium-9">
            <input type="text" />
        </div>
    </div>
    <div class="row">
        <div class="column medium-3">
            <label>Label</label>
        </div>
        <div class="column medium-9">
            <input type="text" />
        </div>
    </div>
    <div class="row">
        <div class="column medium-3">
            <label>Label</label>
        </div>
        <div class="column medium-9">
            <input type="text" />
        </div>
    </div>
    <div class="row">
        <div class="column medium-3">
            <label>Label</label>
        </div>
        <div class="column medium-3">
            <input type="text" />
        </div>
        <div class="column medium-2 medium-push-1 small-stacked">
            <label>Label</label>
        </div>
        <div class="column medium-3">
            <input type="text" />
        </div>
    </div>
</fieldset>

Summary table:

Used to display user input information, such as form confirmations. Typically used with dashed lines between rows (add the .withHr class to the responsiveTable), but not required.

Data for the corresponding label
Data for the corresponding label
Data for the corresponding label

<fieldset class="responsiveTable withHr">
    <div class="row">
        <div class="column medium-3">
            <label>Label</label>
        </div>
        <div class="column medium-9">
            Data for the corresponding label
        </div>
    </div>
    <div class="row">
        <div class="column medium-3">
            <label>Label</label>
        </div>
        <div class="column medium-9">
            Data for the corresponding label
        </div>
    </div>
    <div class="row">
        <div class="column medium-3">
            <label>Label</label>
        </div>
        <div class="column medium-9">
            Data for the corresponding label
        </div>
    </div>
</fieldset>

Modals

Modals are opened by either a button or link being clicked on that have the .wyzantModal class and come in either small, medium, or large sizes. The default behavior of a modal when clicking a modal trigger is to fade out the background of the page, center the modal within the page, and the ability to click anywhere on the page itself or the X in the upper right hand corner of the modal to close it.

.modal-small
Maximum with of 400px

.modal-medium
Maximum with of 600px

.modal-large
Maximum with of 800px

NOTE: The modal trigger has a href that needs to correspond to the id of the modal in order to work properly. The modal should have the .hide class on it so that it is invisible until the modal trigger is clicked.

<a class="wyzantModal" href="#smallModal">Click here to trigger the small modal</a>
<div id="smallModal" class="hide modal-small">
    <h3>Small Modal</h3>
    <p>This is the small sized modal. It is the second most common modal size and should be used when we are sharing a very small snippet of information with the user. Like the other two sizes, this modal supports every size headline and all elements (e.g. images) within it.</p>
</div>

Notifications

Always use the .nfy class in addition to any of the helper classes below.

<div class="nfy nfy-info">Notification message</div>

Notification helper classes:

.nfy
Message with no icon. Learn more

.nfy-info
Just some helpful info for you. Learn more

.nfy-success
Success! You’re a genius. Claim your reward

.nfy-warning
You have some overdue lessons to submit. Submit now

.nfy-error
Sorry, there’s been an error. Fix it here

Notifications also support headers and all other types of elements within them.

Just some helpful info in a headline to notify you with

Here is where you can learn more about that helpful info. Learn more

Ribbon notifications:

These always run across the top of the site, and sit on top of the header.

Just some helpful info for you. Learn more
Success! You’re a genius. Claim your reward
You have some overdue lessons to submit. Submit now
Sorry, there’s been an error. Fix it here

Badges

Always use the .badge class in addition to any of the helper classes below.

<div class="badge badge-green">Lorem Ipsum</div>

Badge helper classes:

.badge
Lorem Ipsum
0

.badge-blue
Lorem Ipsum

.badge-green
Lorem Ipsum

.badge-yellow
Lorem Ipsum

.badge-red
Lorem Ipsum
23

Boxes

Boxes can help highlight and distinguish information. By default, boxes have 10 pixels of padding.

Box classes:

.box-gray
Gray box: Used to display supplemental information that should be visually separated from the adjacent content.

.box-white
White box: Typically used over a light gray background to house form elements.

Quotes

Used for callouts of tutor and student quotes.

Standard Quote:

The markup for a standard quote box works as follows:

  • An outer blockquote element with the .quote class, containing:
    • The quote heading
    • One or more paragraph tags containing the quote itself
    • An element with the .quote-author class containing author information
    • Optionally an element with the .quote-link class containing a link to more information
Absolutely the best!

Her patience, kindness, punctuality, constructive criticism, and knowledge of material has undoubtedly helped my daughter tremendously in such a short amount of time.

– Jamie from Ridge, NY on 5/22/13
<blockquote class="quote">
    <h6>Absolutely the best!</h6>
    <p>Her patience, kindness, punctuality, constructive criticism, and knowledge of material has undoubtedly helped my daughter tremendously in such a short amount of time.</p>
    <div class="quote-author">– Jamie from Ridge, NY on 5/22/13</div>
    <div class="quote-link">
        <a href="#">View More Reviews »</a>
    </div>
</blockquote>

Quote with blue quotation mark:

To match the quotation mark with other blue icons on the Tutor Public Profile, just add .quote-alt to the .quote element.

Absolutely the best!

Her patience, kindness, punctuality, constructive criticism, and knowledge of material has undoubtedly helped my daughter tremendously in such a short amount of time.

– Jamie from Ridge, NY on 5/22/13

Quote with image:

The markup for a quote with an image differs from a standard quote...

  • An outer element with the .quote-container class, containing:
    • An element with the class .quote-img containing your image wrapped with a span or an a to get a rounded image
    • An element with the .quote class, containing the items specified above in the Standard Quote

Consider the size of the image when determining if it should appear on mobile break points.

The difficult part of finding a student is done for you!

I wish you could earn points for every lesson that is submitted; other then this I've enjoyed using Wyzant. Text alerts sent to my phone for incoming messages and new opportunities are extremely helpful.

– Janet, Grand Prairie, TX
<div class="quote-container">
    <div class="quote-img">
        <span>
            <img src="https://dj1hlxw0wr920.cloudfront.net/userfiles/wyzfiles/771250cd-401f-47ce-8335-24d8557b323e.jpg">
        </span>
    </div>
    <blockquote class="quote">
        <h6>The difficult part of finding a student is done for you!</h6>
        <p>I wish you could earn points for every lesson that is submitted; other then this I've enjoyed using Wyzant. Text alerts sent to my phone for incoming messages and new opportunities are extremely helpful.</p>
        <div class="quote-author">– Janet, Grand Prairie, TX</div>
    </blockquote>
</div>

Progress bars

A progress bar to display the completion of a process.

<div class="progressbar">
    <div class="progress" style="width: 66%"></div>
</div>