<Typography>
ComponentTT Commons Pro is the default type style for all text across the system. All type styles use t-shirt sizing (x-small, small, medium, large, x-large) to specify groupings of font sizes. The system was designed so that a medium display (heading) would have proper hierarchy with respective medium titles (subheadings) and paragraph styles.
Desktop and mobile type styles are typically swapped at the 768px breakpoints, but some layouts use 1024px as the breakpoint.
:root {--font-weight-regular: 350;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 600;--font-family: 'TT Commons Pro', Arial, sans-serif;}
Usage of display styles should primarily be for page titles, heroes, and section titles. The largest sizes are used sparingly for aesthetic emphasis in locations such as stat cards or other large display areas.
font-size: 96px
line-height: 96px
font-size: 48px
line-height: 52px
font-size: 76px
line-height: 76px
font-size: 38px
line-height: 44px
font-size: 56px
line-height: 60px
font-size: 32px
line-height: 36px
font-size: 48px
line-height: 56px
font-size: 28px
line-height: 32px
.hatch-type-display-x-large {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-regular);font-size: 48px;line-height: 52px;@media (--viewport-large) {font-size: 96px;line-height: 96px;}}.hatch-type-display-large {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-regular);font-size: 38px;line-height: 44px;@media (--viewport-large) {font-size: 76px;line-height: 76px;}}h1,.hatch-type-display-medium {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-regular);font-size: 32px;line-height: 36px;@media (--viewport-large) {font-size: 56px;line-height: 60px;}}h2,.hatch-type-display-small {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-regular);font-size: 28px;line-height: 32px;@media (--viewport-large) {font-size: 48px;line-height: 56px;}}
Usage of title styles should primarily be for lower level headings such as list headings, section subheadings, article headings, and other areas where a display style would be too large. Smaller sizes of titles will have unchanging font sizes across desktop/mobile layouts.
font-size: 46px
line-height: 52px
font-size: 40px
line-height: 44px
font-size: 40px
line-height: 44px
font-size: 36px
line-height: 40px
font-size: 32px
line-height: 36px
font-size: 32px
line-height: 36px
font-size: 26px
line-height: 32px
font-size: 26px
line-height: 32px
font-size: 22px
line-height: 24px
font-size: 22px
line-height: 24px
.hatch-type-title-x-large {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 40px;line-height: 44px;@media (--viewport-large) {font-size: 46px;line-height: 52px;}}.hatch-type-title-large {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 36px;line-height: 40px;@media (--viewport-large) {font-size: 40px;line-height: 44px;}}h3,.hatch-type-title-medium {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 32px;line-height: 36px;}h4,.hatch-type-title-small {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 26px;line-height: 32px;}h5,.hatch-type-title-x-small {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 22px;line-height: 24px;}
Usage of paragraph styles should primarily be for section descriptions, lower level captions and list items. These styles have the largest line height to font size difference and have the lightest font weight to promote readability.
font-size: 28px
line-height: 40px
font-size: 28px
line-height: 40px
font-size: 22px
line-height: 32px
font-size: 20px
line-height: 28px
font-size: 18px
line-height: 28px
font-size: 16px
line-height: 24px
font-size: 16px
line-height: 24px
font-size: 14px
line-height: 20px
font-size: 14px
line-height: 20px
font-size: 12px
line-height: 16px
.hatch-type-paragraph-x-large {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-regular);font-size: 28px;line-height: 40px;}.hatch-type-paragraph-large {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-regular);font-size: 20px;line-height: 28px;@media (--viewport-large) {font-size: 22px;line-height: 32px;}}p,.hatch-type-paragraph-medium {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-regular);font-size: 16px;line-height: 24px;@media (--viewport-large) {font-size: 18px;line-height: 28px;}}.hatch-type-paragraph-small {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-regular);font-size: 14px;line-height: 20px;@media (--viewport-large) {font-size: 16px;line-height: 24px;}}.hatch-type-paragraph-x-small {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-regular);font-size: 12px;line-height: 16px;@media (--viewport-large) {font-size: 14px;line-height: 20px;}}
Label styles are used for small text elements such as captions, eyebrows, badges, and other decorative text elements. These styles typically call out promotional content or bring users' attention to specific areas of the page/component.
font-size: 22px
line-height: 28px
font-size: 22px
line-height: 28px
font-size: 18px
line-height: 24px
font-size: 18px
line-height: 24px
font-size: 16px
line-height: 20px
font-size: 16px
line-height: 20px
font-size: 14px
line-height: 16px
font-size: 14px
line-height: 16px
font-size: 12px
line-height: 12px
font-size: 12px
line-height: 12px
.hatch-type-label-x-large {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 22px;line-height: 28px;}.hatch-type-label-large {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 18px;line-height: 24px;}.hatch-type-label-medium {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 16px;line-height: 20px;}.hatch-type-label-small {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 14px;line-height: 16px;}.hatch-type-label-x-small {font-family: var(--font-family);margin-top: 0;margin-bottom: 0;color: var(--hdc-navy-900);font-weight: var(--font-weight-medium);font-size: 12px;line-height: 12px;}