Accordion

This component is a Accordion. It allows the user to click the title and toggle open and closed the information. The accordion can be rendered starting open if the item variable expanded is set to true. The container title text is also variable. The level variable need to be passed a heading value ie 3, else it will default to h2.

Requires:

  • dist/js/foreach-nodelist/vendors/foreach-nodelist.js
  • dist/js/toggle-class.bundle.js

Accordion heading (optional)

Address Listing

The address listing component is used to display search results for affiliates or Restores. It's not used within the main site search results.

Article Meta

The Article Meta component is a set of social media and related links that appears on the Stories page.

Aside

This is the Aside component which appears on donation pages. It contains three sets of links for online security, good stewardship, and links for donations

Band

This component pulls together details of an event and displays them within a band. Use this component by leveraging twig embeds and overriding the blocks.

Home construction

Help build new homes with those in need.

March 31, 2017 - April 9, 2017

10 days

Trip cost: US$2,255

Basic Row

The Basic Row is used for rows of data with striping. If a more complicated structure is needed, basic-row--odd and basic-row--even modifiers are available.

Example:

<div class="basic-row basic-row--even">
  <div class="basic-row__label">Label</div>
  <div class="basic-row__data">Title</div>
</div>
<div class="basic-row basic-row--odd">
  <div class="basic-row__label">Label</div>
  <div class="basic-row__data">Title</div>
</div>
Location:
Atlanta, GA.
Region:
North America
Job Position Type:
US Employment

Basic Text

The basic text component is used to restrict basic text styles.

Note:

Heading classes can be applied to any heading element to give it the correct size while keeping the correct semantic element. I.E. "I need an h3 but it has to look like an h4".

  • .basic-text-h2
  • .basic-text-h3
  • .basic-text-h4
  • .basic-text-h5
  • .basic-text-h6

Additional modifier classes:

  • .basic-text-margin-sm Bumps the bottom margin down by half.

This is an h2

Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Donec tristique varius tortor, a rutrum mauris rhoncus venenatis.
  • Etiam ac mauris vitae ante vulputate convallis non eu orci.

This is an h3

Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod.1 Donec sed odio dui. Aenean lacinia bibendum nulla sed consectetur.

  1. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  2. Donec tristique varius tortor, a rutrum mauris rhoncus venenatis.
  3. Etiam ac mauris vitae ante vulputate convallis non eu orci.

This is an h4

Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Vestibulum id ligula porta felis euismod semper. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam porta sem malesuada magna mollis euismod2. Vestibulum id ligula porta felis euismod semper. Curabitur blandit tempus porttitor.

This is an h5

SEtiam porta sem malesuada magna mollis euismod. Maecenas faucibus mollis interdum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lacinia bibendum nulla sed consectetur.

This is an h6

Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

Blockquote

The following options should be available on blockquotes, with each adding the appropriate modifier classes to the container:

  • Color scheme. This applies to the containing page; all blockquotes on a page must use the same color scheme. Options:
    • Black text on off-white (default; no classes added)
    • White text on blue .blockquote--color-white-on-blue
    • Black text on green .blockquote--color-black-on-green
    • Blue text on white .blockquote--color-blue-on-white
    • Blue text on white with top bar .blockquote--color-blue-on-white-with-bar
  • Typeface. This also applies to the page; all blockquotes on a page must use the same font-family. Options:
    • Sans-serif (default; no classes added)
    • Serif .blockquote--font-serif
  • Font size. This can be different for each blockquote. Options:
    • Normal (default; no classes added)
    • Smaller .blockquote--font-size-small

There should also be a boolean checkbox, checked by default, to Show Twitter link. This works through a template variable rather than through a normal modifier class. All the examples below have this option set to true.

The people recognize themselves in their commodities; they find their soul in their automobile, hi-fi set, split-level home, kitchen equipment.
— Herbert Marcuse
.blockquote--color-white-on-blue
White text on blue background
The people recognize themselves in their commodities; they find their soul in their automobile, hi-fi set, split-level home, kitchen equipment.
— Herbert Marcuse
.blockquote--color-black-on-green
White text on green background
The people recognize themselves in their commodities; they find their soul in their automobile, hi-fi set, split-level home, kitchen equipment.
— Herbert Marcuse
.blockquote--color-blue-on-white
Blue text on white background
The people recognize themselves in their commodities; they find their soul in their automobile, hi-fi set, split-level home, kitchen equipment.
— Herbert Marcuse
.blockquote--color-blue-on-white-with-bar
Blue text on white background with thick top border
The people recognize themselves in their commodities; they find their soul in their automobile, hi-fi set, split-level home, kitchen equipment.
— Herbert Marcuse
.blockquote--font-serif
Serif font
The people recognize themselves in their commodities; they find their soul in their automobile, hi-fi set, split-level home, kitchen equipment.
— Herbert Marcuse
.blockquote--font-size-small
Smaller font size
The people recognize themselves in their commodities; they find their soul in their automobile, hi-fi set, split-level home, kitchen equipment.
— Herbert Marcuse

Breadcrumb

Breadcrumbs appear on tertiary pages.

.breadcrumb--reversed
variant in which breadcrumbs are white on a solid bg color

Buttons

This is the button component. It provides basic styles for buttons throughout the site.

:hover
Highlights when hovering.
.btn--primary
Primary button style.
.btn--secondary
Secondary button style.
.btn--reversed
Dark background color with white text button style.
.btn--donate
Donate button style.
.btn--large
Modifier to make any button larger.
.btn--xlarge
Modifier to make buttons extra large.
.btn--centered
Modifier to make the button centered.
.is-disabled
Disable the button. The same styles will be applied if you use the disabled attribute. The disabled attribute is the preferred method.

Callout

This is the Callout component. It contains a single field of text with character limit of 200.

We build strength, stability, and self reliance through shelter.

Card

Card component renders on the Affiliates page with data from the feed.

Chicago Habitat for Humanity with a Really Long Name Going to a Second Line

2201 South Halstead, Suite 1251, Chicago, IL 60608
WebsiteA wireframe globe www.windycityhabitat.org
PhoneA smartphone (312) 563-0296

Card - Teaser

This component is a teaser card consisting of a media item above a title and summary with an accordion below Requires:

  • dist/js/toggle-class.bundle.js
Meta information of some kind

This is a summary paragraph that will contain a bunch of information. I don't know if it'll be rich text or not but we'll see what happens.

Collapsible

This component is a collapsible fieldset. It allows the user to click the fieldset legend and toggle open and closed the information.

Requires:

  • dist/js/foreach-nodelist/vendors/foreach-nodelist.js
  • dist/js/toggle-class.bundle.js
More newsletters

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed augue id purus scelerisque eleifend consectetur ac dolor. Nunc eu dapibus purus, vitae sodales nibh. Vivamus malesuada ipsum id lacus egestas ullamcorper. Mauris nec dictum massa. Phasellus pharetra et nunc eget pulvinar. Nunc sollicitudin lectus non dolor consectetur tempor. Quisque id erat accumsan, molestie velit vel, pretium sapien. Phasellus in ipsum in elit pharetra consectetur eget sit amet nulla. In dui justo, accumsan malesuada augue id, mattis porta risus. Nam ut ligula elit. Curabitur dolor metus, fermentum vitae felis sit amet, consequat porta lacus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Phasellus bibendum semper mauris id aliquam. Ut interdum metus varius justo tempus, ac tempor dui finibus.

CTA

CTAs for the site

heart

Work With Us

.cta--color-oslo-gray
variant with a color stripe on the left side
heart

Work With Us

.cta--color-apple-green
variant with a color stripe on the left side
heart

Work With Us

.cta--color-orange
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stiletto-red
variant with a color stripe on the left side
heart

Work With Us

.cta--color-midnight-blue
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-left
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-left.cta--color-oslo-gray
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-left.cta--color-apple-green
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-left.cta--color-orange
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-left.cta--color-stiletto-red
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-left.cta--color-midnight-blue
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-top
variant with a color stripe on the top
heart

Work With Us

.cta--color-stripe-top.cta--color-oslo-gray
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-top.cta--color-apple-green
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-top.cta--color-orange
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-top.cta--color-stiletto-red
variant with a color stripe on the left side
heart

Work With Us

.cta--color-stripe-top.cta--color-midnight-blue
variant with a color stripe on the left side
heart

Work With Us

Divider

This is the divider component that is used to divide page elements. The component is section that contains a hr tag. The section can be passed the class divider--hot-orange to alter the color. The divider has spacing options controlled by the classes divider--2x and divider--3x, which double or triple the space.


.divider--hot-orange
Alternate version of the hr.

.divider--2x
Alternate version of the hr.

.divider--3x
Alternate version of the hr.

Donate

This is the donate dropdown in the header.

Esri Leaflet Map (esrimap)

This is a Esri Leaflet map. It leverages the Esri Leaflet API.

Import site utilities.

Expandable Teaser

This is the Expandable Teaser component which appears at the top of the Donation page. It has a a title, text block, image and button.

Donation campaign heading copy.

This text will always be visible. Etiam porta sem malesuada magna mollis euismod. Vestibulum id ligula porta felis euismod semper. Nullam quis risus eget urna mollis ornare vel eu leo ...

This text is hidden until the user clicks on the Read More button. Maecenas faucibus mollis interdum. Sed posuere consectetur est at lobortis. Aenean lacinia bibendum nulla sed consectetur. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sed ex sit amet lorem finibus pretium nec vitae nisl. Donec vitae dui ut felis convallis tristique. Cras nec lacus erat. Nulla massa odio

This text is hidden until the user clicks on the Read More button. Cras nec lacus erat. Nulla massa odio Maecenas faucibus mollis interdum. Sed posuere consectetur est at lobortis. Aenean lacinia bibendum nulla sed consectetur.

test image

FAQ

The FAQ component appears on the Affiliates page.

FAQs

What is Habitat for Humanity International?

  • Habitat is a nonprofit, Christian housing ministry.
  • We believe that every person should have a decent, safe and affordable place to live.
  • We build, renovate and repair houses all over the world using volunteer labor and donations.
  • We welcome all people to work with us in partnership.

Does Habitat give houses away?

  • Habitat’s partner families buy the houses that Habitat builds and renovates.
  • Habitat makes no profit on the sale.
  • In the United States, Habitat homeowners purchase their houses through affordable monthly mortgage payments.
  • In other countries, Habitat also works with partner organizations to serve even more families through innovative financing methods.

How are Habitat's families chosen?

  • Each affiliate’s family selection committee chooses Habitat homeowners for their local area, based on three criteria:
  • The family’s level of need.
  • Their willingness to become partners in the program.
  • Their ability to repay the loan through an affordable payment plan.

Form CTA

This is the form-cta component which appears on the home page. This component allows the user to toggle open and closed the different elements. There are three instances of this: Donate, Subscribe and Get Local.

Requires: dist/js/toggle-class-es6.js

Donate Donate

At Habitat for Humanity International, we build. We build because we believe that everyone, everywhere, should have a healthy, affordable place to call home.

Get involved Get involved

Find Local Affiliates, Volunteer Opportunities, Restore Locations, News, Events.

Form CTA Basic

This component is similar to Form CTA Full but doesn't support forms. It only supports a single call to action button and an additional text link. This keeps it simpler and lighter than the Form CTA Full component.

Join this trip

Once you fill out the trip application, a team leader will be in touch to tell you more about this trip and answer any question you may have.
Apply now Read the Global Village trip FAQ

Form CTA Full

There are two alternate Form CTAs: one for newsleter signup, the other for donations.

Donate

At Habitat for Humanity International, we build. We build because we believe that everyone, everywhere, should have a healthy, affordable place to call home. More than that we build communities, we build hope and we build the opportunity for families to help themselves.

Form CTA Promo

The Form CTA Promo component uses the following components:

Get involved Get involved

Find Local Affiliates, Volunteer Opportunities, Restore Locations, News, Events.

Form CTA Single

This is an individual instance of each CTA within the form-cta component.

Get involved

Find Local Affiliates, Volunteer Opportunities, Restore Locations, News, Events.
Get Involved
Optional secondary text that links.
.form-cta-single--apple-green
Green color variation.

Get involved

Find Local Affiliates, Volunteer Opportunities, Restore Locations, News, Events.
Get Involved
Optional secondary text that links.
.form-cta-single--hot-orange
Orange color variation.

Get involved

Find Local Affiliates, Volunteer Opportunities, Restore Locations, News, Events.
Get Involved
Optional secondary text that links.
.form-cta-single--stiletto-red
Red color variation.

Get involved

Find Local Affiliates, Volunteer Opportunities, Restore Locations, News, Events.
Get Involved
Optional secondary text that links.

Game

This is interactive game that can highlight some of the key issues for the Cost of Home campaign.

It's written in React and compiled by Webpack. It's compiled using the normal npm run build or npm run watch commands.

Google Map (Gmap)

This is a Google map. It leverages the Google Maps JavaScript API.

Usage:

  • Include the @h4h_theme/gmap/gmap.twig file passing it the needed map id.
  • Populate the drupalSettings.gMaps object with the needed data.

Example drupalSettings.gMaps:

"gMaps":[
  {
    "id": "map1",
    "center":{
      "lat": -25.363,
      "lng": 131.044
    },
    "markers":[
      {
        "title": "Some label 1",
        "style": "red",
        "position": {
          "lat": -10.363,
          "lng": 120.044
        },
        "details": {
          "title": "Seminole / Apopka ReStore",
          "desc": "<p>110 Americana Blvd</p><p>Sanford, FL 32773-8027</p>",
          "phone": "tel:+17709956211",
          "email": "mailto:[email protected]",
          "website": "https://example.com/"
        }
      },
      {
        "title": "Some label 1",
        "style": "blue",
        "position": {
          "lat": -15.151,
          "lng": 131.044
        },
        "details": {
          "title": "Some Other ReStore",
          "desc": "<p>First Line Address</p><p>City, FL 32773-8027</p>",
          "phone": "tel:+17709956211"
        }
      },
      {
        "title": "Some label 1",
        "style": "blue",
        "position": {
          "lat": -40.363,
          "lng": 100.044
        }
      }
    ]
  }
]

Header

The header is made up of the following components:

Subsite Header

The header for subsites is usually used with the main header:

Header Plain

This is the Header Plain component that appears on donation pages.

Hero

The hero is made up of two reusable components:

This component also has multiple variations. Here's how someone would go about adding or removing a variation.

  1. Create a new SCSS stylesheet. (You can copy hero-blue.scss and use that as a starting point.)
  2. Add a modifier that references the stylesheet to the hero.scss KSS modifiers list.
  3. In your new stylesheet reference use hero-[whatever color name you picked] as the selector.
  4. If you are adding a new layout option use hero-box-[whatever layout name you picked] instead.
  5. At this point you should be able to modify your new color stylesheet and see it working in the style guide.

Now time to tie it into Drupal.

  1. Create a new library for your variant stylesheet. (Take a look at hero-blue for an example.)
  2. Make sure that library depends on h4h_theme/hero. This ensures the base css is added.
  3. Update the hero and hero with video paragraph style or layout field to add in your new option.

Deleting a unused style.

  1. Delete the SCSS stylesheet.
  2. Delete the Drupal library.
  3. Delete the value from the style or layout field on the paragraph.
.hero--video
If the hero image is a video, overlay a play button over the image.
.hero--no-image
If the image field is empty.
.kss-donate
Fake form to demonstrate the hero with a donate form.
.kss-donate.hero--no-image
Fake form to demonstrate the hero with a donate form, but with no image.
.hero-blue.scss
Blue color variation (Default).
.hero-dark-blue.scss
Dark blue color variation.
.hero-dark.scss
Dark color variation.
.hero-green.scss
Green color variation.
.hero-light.scss
Light color variation.
.hero-orange.scss
Orange color variation.
.hero-red.scss
Red color variation.
.hero-box-right.scss
Box right aligned variation (Default).
.hero-box-right-wide.scss
Box right aligned wide variation.
.hero-box-left.scss
Box left aligned variation.
.hero-box-left-wide.scss
Box left aligned wide variation.
.hero-box-top.scss
Box top aligned variation.
.hero-box-bottom.scss
Box bottom aligned variation.
.hero-box-side-left.scss
Box left side variation.
.hero-box-side-right.scss
Box right side variation.

hr

This is the hr component that appears on the Donate form.


.hr--hot-orange
Alternate version of the hr.

.hr--mb
Margin bottom modifier to add margin below the <hr>.

Index List

The index list component is a 4 column list of items.

Argentina

Bangladesh

Bolivia

Brazil

Bulgaria

Canada

Chile

Columbia

Costa Rica

Dominican Republic

Egypt

Ethiopia

.index-list--2
Modifier to create a 2 column list of items.

Argentina

Bangladesh

Bolivia

Brazil

Bulgaria

Canada

Chile

Columbia

Costa Rica

Dominican Republic

Egypt

Ethiopia

.index-list--no-pad
Modifier to remove default padding.

Argentina

Bangladesh

Bolivia

Brazil

Bulgaria

Canada

Chile

Columbia

Costa Rica

Dominican Republic

Egypt

Ethiopia

Info

This is the Info component. It displays an icon next to a link. Additional description text is optional. If no icon is specified, the info icon is used by default.

View card samples
You will be able to personalize your print card or e-card for your recipent and special occasion after your donation has been processed.

Info (Plain)

This is the Info (Plain) component. It displays a slightly smaller label in bold. Additional description text is optional.

Long Author Name
Optional description text.

Info Window

The info window component is used to show a brief summary of content. Example: used within the context of a Google map, the info window shows more details about any map marker when clicked.

Seminole / Apopka Restore

110 Americana Blvd

Sanford, FL 32773-8027

Language Selector

The language selector on subsites to switch between languages

English

Listing

The listing component is used to display search results for affiliates or Restores. It's not used within the main site search results.

Media Item

This component appears on stories pages and contains an image and a caption.

test image
Image caption Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam quis risus eget urna mollis ornare vel eu leo.

Media Object

This is a combination of a title, text block and image. The image is floated to the right by default.

About Chicago Habitat for Humanity

logo

Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit. Maecenas sed diam eget risus varius blandit sit amet non magna. Maecenas faucibus mollis interdum.Donec sed odio dui. Nullam id dolor id nibh ultricies vehicula ut id elit. Curabitur blandit tempus porttitor. Curabitur blandit tempus porttitor.Cras mattis consectetur purus sit amet fermentum. Nullam id dolor id nibh ultricies vehicula ut id elit. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras mattis consectetur purus sit amet fermentum.Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec id elit non mi porta gravida at eget metus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

.media-object--left
image floated left.

About Chicago Habitat for Humanity

logo

Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit. Maecenas sed diam eget risus varius blandit sit amet non magna. Maecenas faucibus mollis interdum.Donec sed odio dui. Nullam id dolor id nibh ultricies vehicula ut id elit. Curabitur blandit tempus porttitor. Curabitur blandit tempus porttitor.Cras mattis consectetur purus sit amet fermentum. Nullam id dolor id nibh ultricies vehicula ut id elit. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras mattis consectetur purus sit amet fermentum.Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec id elit non mi porta gravida at eget metus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

.media-object--no-wrap
text will not wrap around the image

About Chicago Habitat for Humanity

logo

Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit. Maecenas sed diam eget risus varius blandit sit amet non magna. Maecenas faucibus mollis interdum.Donec sed odio dui. Nullam id dolor id nibh ultricies vehicula ut id elit. Curabitur blandit tempus porttitor. Curabitur blandit tempus porttitor.Cras mattis consectetur purus sit amet fermentum. Nullam id dolor id nibh ultricies vehicula ut id elit. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras mattis consectetur purus sit amet fermentum.Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec id elit non mi porta gravida at eget metus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

.media-object--small
Super small margin around the image.

About Chicago Habitat for Humanity

logo

Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit. Maecenas sed diam eget risus varius blandit sit amet non magna. Maecenas faucibus mollis interdum.Donec sed odio dui. Nullam id dolor id nibh ultricies vehicula ut id elit. Curabitur blandit tempus porttitor. Curabitur blandit tempus porttitor.Cras mattis consectetur purus sit amet fermentum. Nullam id dolor id nibh ultricies vehicula ut id elit. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras mattis consectetur purus sit amet fermentum.Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec id elit non mi porta gravida at eget metus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

Messages

The messages component is mostly a duplicate of the Classy theme styled system messages. There are slight modifiers added to give more flexibility.

.messages--status
Status system message.
.messages--error
Error system message.
.messages--warning
Warning system message.
.messages--plain
Removes the background image if there is one. In this example the messages--warning modifier is used as well.

Modal CTA

The modal cta component present a pop up to the user. After the pop up is shown once a cookie is set ensuring that it isn't shown again.

Test this component using the button below.

This component leverages the Magnific Popup library.

More List

The "More List" is a sidebar that appears on the Affiliates page. It includes three elements: a thumbnail image, a list of programs and a list of events

Programs

Collegiate Challenge

Collegiate Challenge is a year-round alternative break program.

Women Build

Learn construction skills while building homes for women and children.

A Brush with Kindness

Help renovate existing homes through painting, landscaping, weatherization and minor repair projects.
See All Habitat Programs

Events

Winter Warriors

Now - March
Do you think you're tough? Like, really tough? Then prove it! Join Habitat's Chicago construction team as they brave the Chicago cold this winter. The West Pullman build site remains open to volunteers every Thursday, Friday and Saturday throughout the winter and every time you volunteer.

Newsletter Exit

Newsletter Exit modal.

Pager

The Basic Pager contains Previous and Next buttons with a list of ennumerated pages. The Load More variant contains a single button

.pager--load-more
Ajax pager.

Professional Profile

The professional profile gives the name, title and a description of an individual. A vcard syntax has been used where appropriate. By default the image is displayed to the left (photo-left). The image provided needs to be a 1:1 ratio.

test image
Geoffrey Anderson
Position Title/ Description

Excepteur sint obcaecat cupiditat non proident culpa. Phasellus laoreet lorem vel dolor tempus vehicula. Ut enim ad minim veniam, quis nostrud exercitation. Unam incolunt Belgae, aliam Aquitani, tertiam. Quis aute iure reprehenderit in voluptate velit esse. Cum ceteris in veneratione tui montes, nascetur mus. Idque Caesaris facere voluntate liceret: sese habere. Mercedem aut nummos unde unde extricat, amaras. Curabitur blandit tempus ardua ridiculus sed magna. Quae vero auctorem tractata ab fiducia dicuntur.

Excepteur sint obcaecat cupiditat non proident culpa. Phasellus laoreet lorem vel dolor tempus vehicula. Ut enim ad minim veniam, quis nostrud exercitation. Unam incolunt Belgae, aliam Aquitani, tertiam. Quis aute iure reprehenderit in voluptate velit esse. Cum ceteris in veneratione tui montes, nascetur mus. Idque Caesaris facere voluntate liceret: sese habere. Mercedem aut nummos unde unde extricat, amaras. Curabitur blandit tempus ardua ridiculus sed magna. Quae vero auctorem tractata ab fiducia dicuntur.

.photo-right
Display photo to the right.
test image
Geoffrey Anderson
Position Title/ Description

Excepteur sint obcaecat cupiditat non proident culpa. Phasellus laoreet lorem vel dolor tempus vehicula. Ut enim ad minim veniam, quis nostrud exercitation. Unam incolunt Belgae, aliam Aquitani, tertiam. Quis aute iure reprehenderit in voluptate velit esse. Cum ceteris in veneratione tui montes, nascetur mus. Idque Caesaris facere voluntate liceret: sese habere. Mercedem aut nummos unde unde extricat, amaras. Curabitur blandit tempus ardua ridiculus sed magna. Quae vero auctorem tractata ab fiducia dicuntur.

Excepteur sint obcaecat cupiditat non proident culpa. Phasellus laoreet lorem vel dolor tempus vehicula. Ut enim ad minim veniam, quis nostrud exercitation. Unam incolunt Belgae, aliam Aquitani, tertiam. Quis aute iure reprehenderit in voluptate velit esse. Cum ceteris in veneratione tui montes, nascetur mus. Idque Caesaris facere voluntate liceret: sese habere. Mercedem aut nummos unde unde extricat, amaras. Curabitur blandit tempus ardua ridiculus sed magna. Quae vero auctorem tractata ab fiducia dicuntur.

Promo

This is the Promo component which appears in two places on the home page. It has two configurations, one that is nearly square and one that is shorter and rectangular.

.promo--short
Short version of the promo.

Promo Grid

The promo grid a container for the following components

Get involved Get involved

Find Local Affiliates, Volunteer Opportunities, Restore Locations, News, Events.

Promotional Ribbon

The promotional ribbon is used to drive end users to donate. It will be part of a Google Optimize A/B test

Requires:

  • dist/js/slick-carousel/vendors/slick.min.js
  • dist/js/promo-ribbon.bundle.js

Make your GivingTuesday gift today to help a family build a home and a future!

Give Now

Section Grid

The Section Grid is made up of the following components:

Section Title

The section title component is used to denote a new section and can be used within multiple components.

Section Title component

This Is a Subtitle

Lorem Ipsum Dolor Ame Mauris Magna Elit, Moestie at Temport.

.section-title--flush
Modifier that provides a margin-less, padding-less container.

Section Title component

This Is a Subtitle

Lorem Ipsum Dolor Ame Mauris Magna Elit, Moestie at Temport.

.section-title--alt1
Alternate display 1

Section Title component

.section-title--alt2
Alternate display 2

Section Title component

.section-title--alt3
Alternate display 3

Section Title component

Share

This is the Share component. It's an example.

Slideshow

The slideshow component is used within the stories to display multiple images with captions.

By default the list of items is displayed as a slideshow, clicking the list view button converts the slideshow to a list.

Requires:

  • dist/js/slick-carousel/vendors/slick.min.js
  • src/components/slick-carousel/vendors/slick.css
  • dist/js/slideshow.bundle.js
1 / 3

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Slideshow

The slideshow component is used within the stories to display multiple images with captions.

By default the list of items is displayed as a slideshow, clicking the list view button converts the slideshow to a list.

Requires:

  • dist/js/slick-carousel/vendors/slick.min.js
  • src/components/slick-carousel/vendors/slick.css
  • dist/js/slideshow.bundle.js
1 / 3

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit

consectetur adipiscing elit.amet, consectetur adipiscing elit.

Social Bar

This is the social bar. It contains links to different social media websites.

.social-bar--dark
Modifier to make the buttons darker.

Spacer

The spacer component is used to insert extra padding between components. There are modifiers that give this component varying padding sizes.

.spacer--2x
Add double the padding added by default.
.spacer--3x
Add triple the padding added by default.

Story

The Story component is made up of the several blocks of text. It uses the Offset two-column layout and uses the following components:

Donec sed odio dui. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Etiam porta sem malesuada magna mollis euismod.

Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas faucibus mollis interdum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Maecenas sed diam eget risus varius blandit sit amet non magna. Etiam porta sem malesuada magna mollis euismod. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed posuere consectetur est at lobortis. Donec ullamcorper nulla non metus auctor fringilla. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

Nullam id dolor id nibh ultricies vehicula ut id elit. Donec id elit non mi porta gravida at eget metus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue. Cras justo odio, dapibus ac facilisis in, egestas eget quam.

  • Sed posuere consectetur est at lobortis.
  • Sed posuere consectetur est at lobortis.
  • Sed posuere consectetur est at lobortis.
test image
Image caption Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam quis risus eget urna mollis ornare vel eu leo.

Nullam quis risus eget urna mollis ornare vel eu leo. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.

  1. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
  2. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.
  3. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
The people recognize themselves in their commodities; they find their soul in their automobile, hi-fi set, split-level home, kitchen equipment.
— Herbert Marcuse

Donec ullamcorper nulla non metus auctor fringilla. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Maecenas sed diam eget risus varius blandit sit amet non magna. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

SVG Map

This is a map created with a svg. It leverages the AM Charts library.

Table Display

The Table display is used to display lists in tabular form.

Show trips from:

Location Trip Dates Project Type
Argentina
Trip date:
Nov 4-13, 2016
Trip type:
Home Construction
Argentina
Trip date:
May 19-28, 2017
Trip type:
Healthy Homes
Brazil
Trip date:
Dec 28, 2016 - Jan 5, 2017
Trip type:
Vulnerable Populations
Cambodia
Trip date:
Nov 4-13, 2016
Trip type:
Disaster Recovery
Chile
Trip date:
Apr 15, 2017
Trip type:
Community Development
El Salvador
Trip date:
Dec 4, 2016
Trip type:
Critical Home Development
Kenya
Trip date:
Nov 4 - 13, 2016
Trip type:
Women Build
Philippines
Trip date:
Nov 12 - 26, 2016
Trip type:
Green Building
Thailand
Trip date:
Jan 19 - 28, 2017
Trip type:
Advocacy
Zambia
Trip date:
Nov 12 - 26, 2016
Trip type:
Blitz Build

Table Filters

The Table filters are included above the table display.

Show trips from:

Tabs

The tabs component can be used to display an unordered list as links or as a way to show and hide content.

Stand alone tab styling can be used without JS or any tab content. However, in order for tabs and tab content to work, JS must be added. Add the class js-tabs to the wrapper if you'd like that functionality.

Requires: dist/js/tabs.bundle.js

Optional Title

Tab Body Zip

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique purus ante, ac pulvinar augue luctus eu. Donec erat ex, dictum ac libero eget, vestibulum commodo ipsum. Praesent erat libero, porttitor eget iaculis vel, rutrum sed elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eget lobortis ipsum, vitae iaculis odio. Donec elementum metus et orci convallis, a fermentum eros efficitur. Duis ligula leo, ornare vel justo vel, sagittis eleifend sem.

Tab Body State

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique purus ante, ac pulvinar augue luctus eu. Donec erat ex, dictum ac libero eget, vestibulum commodo ipsum. Praesent erat libero, ipsum dolor sit amet, consectetur adipiscing elit. Nunc eget lobortis ipsum, vitae iaculis odio. Donec elementum metus et orci convallis, a fermentum eros efficitur. Duis ligula leo, ornare vel justo vel, sagittis eleifend sem.

Tab Body Country

Consectetur adipiscing elit. Cras tristique purus ante, ac pulvinar augue luctus eu. Donec erat ex, dictum ac libero eget, vestibulum commodo ipsum. Praesent erat libero, porttitor eget iaculis vel, rutrum sed elit. ipsum dolor sit amet, consectetur adipiscing elit. Nunc eget lobortis ipsum, vitae iaculis odio. Donec elementum metus et orci convallis, a fermentum eros efficitur. Duis ligula leo, ornare vel justo vel, sagittis eleifend sem.

.tabs--white
White tabs when using different bg color for component.

Optional Title

Tab Body Zip

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique purus ante, ac pulvinar augue luctus eu. Donec erat ex, dictum ac libero eget, vestibulum commodo ipsum. Praesent erat libero, porttitor eget iaculis vel, rutrum sed elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eget lobortis ipsum, vitae iaculis odio. Donec elementum metus et orci convallis, a fermentum eros efficitur. Duis ligula leo, ornare vel justo vel, sagittis eleifend sem.

Tab Body State

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique purus ante, ac pulvinar augue luctus eu. Donec erat ex, dictum ac libero eget, vestibulum commodo ipsum. Praesent erat libero, ipsum dolor sit amet, consectetur adipiscing elit. Nunc eget lobortis ipsum, vitae iaculis odio. Donec elementum metus et orci convallis, a fermentum eros efficitur. Duis ligula leo, ornare vel justo vel, sagittis eleifend sem.

Tab Body Country

Consectetur adipiscing elit. Cras tristique purus ante, ac pulvinar augue luctus eu. Donec erat ex, dictum ac libero eget, vestibulum commodo ipsum. Praesent erat libero, porttitor eget iaculis vel, rutrum sed elit. ipsum dolor sit amet, consectetur adipiscing elit. Nunc eget lobortis ipsum, vitae iaculis odio. Donec elementum metus et orci convallis, a fermentum eros efficitur. Duis ligula leo, ornare vel justo vel, sagittis eleifend sem.

Tags

This component appears anywhere tags are needed.

Teaser

The teaser component promotes a piece of content and provides a call to action.

Note: There's also a modifier that can be applied to the parent container. .teaser--four-colors. By default blue, green and red are alternated if there are multiple teasers side by side. The .teaser--four-colors modifier adds in $midnight-blue to the mix.

.teaser--sbs
Side by side variation of the teaser component.
.teaser--pacific-blue
$color-pacific-blue color variation.
.teaser--apple-green
$color-apple-green color variation.
.teaser--stiletto-red
$color-stiletto-red color variation.
.teaser--midnight-blue
$color-midnight-blue color variation.
.teaser--hot-orange
$color-hot-orange color variation.

Tool Tip

The tool tip component provides a pop up tool tip modal when clicked. By default this tool tip is offset. To center it on the container use the .tool-tip--center modifier class.

Requires:

  • dist/js/toggle-class/toggle-class.bundle.js

If you'd like to use the credit card styling you'll also need the media object.

Trip Icon

The trip icon component provides icons for the different types of Global Village trips.

Usage:

Each icon can also be referenced by it's taxonomy term id. EX: trip-icon--blitz-build or trip-icon--19

trip-icon--large enlarges the default icon size. trip-icon--shrinking provides a icon that shrinks in size for smaller devices..

.trip-icon--blitz-build
Blitz Build
.trip-icon--disaster-recovery
Disaster Recovery
.trip-icon--home-construction
Home Construction
.trip-icon--community-development
Community Development
.trip-icon--women-build
Women Build
.trip-icon--healthy-homes
Healthy Homes
.trip-icon--critical-home-development
Critical Home Development
.trip-icon--vulnerable-populations
Vulnerable Populations
.trip-icon--advocacy
Advocacy
.trip-icon--green-building
Green Building

Video

The video component contains a preview image that when clicked, is removed and a video is inserted in it's place.

Requires:

  • dist/js/foreach-nodelist/vendors/foreach-nodelist.js
  • dist/js/video.bundle.js
Image caption Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam quis risus eget urna mollis ornare vel eu leo.
.video--constrained
Restrict max-width to 765px.
Image caption Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam quis risus eget urna mollis ornare vel eu leo.
.video--16x9
Size the container correctly for a 16:9 aspect ratio. Note: The image source must also be a 16:9 aspect ratio.
Image caption Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam quis risus eget urna mollis ornare vel eu leo.

Main Menu

This is the main site menu. It expands to reveal subnavigation.

Mobile Bar

The mobile bar controls the menu on smaller viewport widths. Only shown for smaller devices. Resize the browser to see the component.