🌹 Graz - George Design System stands in solidarity with the victims and families affected by the tragic school shooting in Graz. Our hearts go out to all those impacted by this senseless act of violence.

Product Page

A product page in the George Store features one big Card. Add the .g-card-product class to the Card, put multiple CardBody components with .g-card-product-* inside, and voilà: you’ve got the content of a product page.

Basics

Product pages consist of a header area, one or more body areas, and a footer area. They are contained in a Card within a FocusPage, which is provided as a React component.

Loading demo…

Header area

Product headers are created by adding the .g-card-product-header class to a CardBody.

Loading demo…
Rules For Designers
  • The header area has a $color-white (#ffffff) background.
  • Text and headlines are centred.

Body area

Product body areas are white. You can add multiple to one page. They are created by adding a .g-card-product-body class to a CardBody (when you need vertical padding) or to any other component (when the component should be seemless, i.e. you do not need vertical padding).

Loading demo…

Gaps

Two succeeding body areas always are separated by a line. Place a Separator between them.

Descriptions

Body areas contain a headline plus one or more paragraphs of explanatory text.

Loading demo…

HINT Standard typography rules apply.

Lists

Lists are preceded by a headline. Only George’s custom bullet points and checkmark-lists are in use in product pages. Lists are only allowed on a white background.

Loading demo…

HINT Standard typography rules apply.

Banners

Product banner body areas feature an eye-catcher background, the product name plus a short teaser text. Apply .g-card-product-body-banner-dark if your image is dark (and the text is to be white) or g-card-product-body-banner-light if your image is light (and the text has to be dark).

Loading demo…

HINT Make sure that headline and main paragraph are not too long. Insert a <br/> if appropriate.

Rules For Designers
  • Banners have a fixed height of 235px.
  • Text in banners is vertically centred.
  • The first line in a banner is the product name.
  • The other lines in a banner are teaser text.
  • All text in a banner is set as HTML paragraphs - even the headlines - so that screen readers do not consider them an individual section.
  • Background images need to be 235 x 1140 px.
  • Background images should be created in twice that resolution (470x2280) for retina screen use, too.
  • Background images need enough space to the left for text to rest on, without distracting images. Single-colour backgrounds work best here.

Tables

A LabeledList (that looks like a table with two columns) may be used in product pages to quote fees or other product details. Add the .g-card-product-body-table modifier to the CardBody and it will take care of centering the headline and ensuring the second column of every row is right-aligned.

HINT Before we introduced LabeledList, a Grid has been used to achieve this kind of layout (which is still possible, but deprecated), but back then you had to take care of the text alignment for heading and columns yourself, so you should always use the improved version depicted below.

Loading demo…
Rules For Designers
  • Product tables always have two columns. The first takes 8/12 and the second 4/12 of a bootstrap grid.
  • Content in the first column is left-aligned. Content in the second column is right-aligned.

Product footers contain a button and optionally some disclaimer text right above it. Each product page may obviously only have one footer area. They are created by adding the .g-card-product-footer class to a CardBody.

Loading demo…
Rules For Designers
  • Omit the initial Paragraph if you don’t have text for it.
  • Only regular-sized buttons are allowed.

Realistic example

This is how a real product page might look like.

Loading demo…

Example from Česká spořitelna (CSAS)

Rules For Developers
  • If you are developing inside George monorepo, use a shared ready-made component from the library. @shared/csas-pages.

This is how a CSAS product page might look like.

Loading demo…

Colouring options

The product page is coloured using the colour of the parent store category. This scheme is also used for the hero banner:

  • main color (for example teal)
  • weak version (for example teal-weak)
  • strong version (for example teal-strong).
Rules For Designers
  • Use only colours from GDS.
  • Using $color-blue-300 (#135ee2) for the StripeHeader is fine if it does not visually conflict with the product category colour.
  • Colours must meet the accessibility standards (contrast).

GDS colours that comply with the accessibility rules

Loading demo…

You can find more details in Figma.