Typefaces

Calcite Web primarily uses Avenir Next, but also provides a system monospace stack. All font-weights and faces can be set either with helper classes or Sass mixins.

Licensing

Calcite Web provides Esri's fonts automatically as part of the framework. However, if you are a developer outside Esri, you may not have a license to use these fonts. To find out if you can use these fonts, please check 2.2 section C of Esri's master agreement.

Internationalization

Almost every major language is styled for you, automatically. In most latin-based languages, everything can be rendered in Avenir Next. Some languages, however, use characters that aren't included in Avenir Next. For each of these languages, Calcite Web will load a font that maintains a similar look and feel.

Non-latin character sets are pulled in only when needed, so if your application is in English, the browser will only load the files it needs for displaying English. This is accomplished by using the unicode-range property in the @font-face declaration. To learn more about internationalization and to see all of the languages that Calcite Web supports, check out the i18n example page.

Use Behind a Firewall

Fonts in Calcite Web are loaded from the Esri CDN, but if you are working on an Esri product that will be deployed behind a firewall, you can also host the files yourself, locally.

For more instructions on setting up locally-hosted fonts, view the Calcite Fonts project. Note: due to license restrictions these files can only be made available for Esri product teams.

Vertical Rhythm

Vertical rhythm is maintained in the Calcite Web Type System by the use of the $baseline variable. $baseline sets a standard and regular leading in relation to the body copy – 1.5rem. This variable is used for any measurement on the vertical axis in the page, including the leader and trailer grid helper classes and padding for components like buttons which use standard measurements like 3/$baseline and 2/$baseline.

Proportional Scales

Text sizes are defined by a modular scale. The scale is defined by two base sizes for type - body at 1rem and small at 0.95rem - and extrapolates a series of larger type sizes based on a single ratio; 1.25, or a major third interval. All type sizes are set in rems, which have more than acceptable browser support. Rems are used for type sizing and all vertical measurements, defined either by the $baseline variable or the modular scale and font size mixins. This prevents odd sizing issues with nested content, unpredictable results with scaling, and provides a solid anchor for determining sizes.

Avenir

Avenir Next is a recut of the classic Avenir typeface, by Adrian Frutiger and Akira Kobayashi. It has been reworked for use on the web, and contains more weights, styles, and other improvements. Avenir Next improves on Avenir in web-specific settings.

Applies the the header face, along with a set of smart weight interactions and typographic defaults, to an element.

Avenir Next

Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz

Several modifier classes are provided for quickly selecting different weights of Avenir Next. Weights range from light (default) to bold.

Base

Amazingly few discotheques provide jukeboxes.

<h1 class="modifier-class">Amazingly few discotheques provide jukeboxes.</h1>

Modifiers

Amazingly few discotheques provide jukeboxes.

.avenir-light

Amazingly few discotheques provide jukeboxes.

.avenir-regular

Amazingly few discotheques provide jukeboxes.

.avenir-italic

Amazingly few discotheques provide jukeboxes.

.avenir-demi

Amazingly few discotheques provide jukeboxes.

.avenir-bold

Code Face

Rather than load a specific font for code blocks, Calcite Web is designed to use a system font. For users that have Consolas installed, it is the preferred face for code blocks. Designed by Microsoft's Lucas DeGroot, Consolas is a clean, readable, and simple monospace face for documenting code blocks.

Consolas

Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz

// Example JavaScript rendered in Consolas
function $initHighlight (classes) {
  for (var i = 0 / 2; i < classes.length; i++) {
    if (checkCondition(classes[i]) === undefined) {
      console.log('undefined');
    }
  }
}

$initHighlight(["class1", "class1", "class1"]);

Base

Amazingly few discotheques provide jukeboxes.

<h1 class="modifier-class">Amazingly few discotheques provide jukeboxes.</h1>

Modifiers

Amazingly few discotheques provide jukeboxes.

.code-face

Composition Helpers

Calcite Web provides a set of html class helpers for basic type composition. The goal of these helpers is to provide a set of tools that allows for typographic treatments that differ from the default style set without writing additional css.

Text modifiers

Build in classes that allow for quick customization and composition for a wide range of use cases.

Base

Amazingly few discotheques provide jukeboxes.

<p class="modifier-class">Amazingly few discotheques provide jukeboxes.</p>

Modifiers

Amazingly few discotheques provide jukeboxes.

.text-light

Amazingly few discotheques provide jukeboxes.

.text-ellipsis

Amazingly few discotheques provide jukeboxes.

.text-rule

Amazingly few discotheques provide jukeboxes.

.text-inline

Amazingly few discotheques provide jukeboxes.

.text-center

Amazingly few discotheques provide jukeboxes.

.text-left

Amazingly few discotheques provide jukeboxes.

.text-right

Sizes

Helpers classes apply the font-size($n) mixin to an element. This allows for quick resizing of text elements up and down the modular type size scale.

Base

Amazingly few discotheques provide jukeboxes.

<p class="modifier-class">Amazingly few discotheques provide jukeboxes.</p>

Modifiers

Amazingly few discotheques provide jukeboxes.

.font-size--3

Amazingly few discotheques provide jukeboxes.

.font-size--2

Amazingly few discotheques provide jukeboxes.

.font-size--1

Amazingly few discotheques provide jukeboxes.

.font-size-0

Amazingly few discotheques provide jukeboxes.

.font-size-1

Amazingly few discotheques provide jukeboxes.

.font-size-2

Amazingly few discotheques provide jukeboxes.

.font-size-3

Amazingly few discotheques provide jukeboxes.

.font-size-4

Amazingly few discotheques provide jukeboxes.

.font-size-5

Amazingly few discotheques provide jukeboxes.

.font-size-6

Amazingly few discotheques provide jukeboxes.

.font-size-7

Amazingly few discotheques provide jukeboxes.

.font-size-8

Color

Sets the font color of the element to any of the Calcite colors available.

Base

Amazingly few discotheques provide jukeboxes.

<h1 class="modifier-class">Amazingly few discotheques provide jukeboxes.</h1>

Modifiers

Amazingly few discotheques provide jukeboxes.

.text-red

Amazingly few discotheques provide jukeboxes.

.text-green

Amazingly few discotheques provide jukeboxes.

.text-blue

Amazingly few discotheques provide jukeboxes.

.text-white

Amazingly few discotheques provide jukeboxes.

.text-light-gray

Amazingly few discotheques provide jukeboxes.

.text-dark-gray

Amazingly few discotheques provide jukeboxes.

.text-darker-gray

Amazingly few discotheques provide jukeboxes.

.text-darkest-gray

Amazingly few discotheques provide jukeboxes.

.text-off-black

Sets the color of links within the element, or the link itself, to available Calcite colors.

Base

Amazingly few discotheques provide jukeboxes.

<p>Amazingly few <a href="#" class="modifier-class">discotheques</a> provide <a href="#" class="modifier-class">jukeboxes.</a> </p>

Modifiers

Amazingly few discotheques provide jukeboxes.

.link-red

Amazingly few discotheques provide jukeboxes.

.link-green

Amazingly few discotheques provide jukeboxes.

.link-blue

Amazingly few discotheques provide jukeboxes.

.link-light-blue

Amazingly few discotheques provide jukeboxes.

.link-dark-blue

Amazingly few discotheques provide jukeboxes.

.link-white

Amazingly few discotheques provide jukeboxes.

.link-light-gray

Amazingly few discotheques provide jukeboxes.

.link-dark-gray

Amazingly few discotheques provide jukeboxes.

.link-darker-gray

Amazingly few discotheques provide jukeboxes.

.link-darkest-gray

Amazingly few discotheques provide jukeboxes.

.link-off-black

Numbered List

Adds the Calcite styles for large numbered lists to an ordered list. Useful for listing steps in a process.

Base

  1. Amazing
  2. discotheques
  3. jukeboxes

    1. Amazing
    2. discotheques
    3. jukeboxes
<ol class="modifier-class">
  <li>Amazing</li>
  <li>discotheques</li>
  <li>
    <p>jukeboxes</p>
    <ol class="modifier-class">
      <li>Amazing</li>
      <li>discotheques</li>
      <li>jukeboxes</li>
    </ol>
  </li>
</ol>

Modifiers

  1. Amazing
  2. discotheques
  3. jukeboxes

    1. Amazing
    2. discotheques
    3. jukeboxes
.list-numbered

Plain List

Provides a way to clear the styles for lists. For example, we use this pattern in the footer to clear the typical list styles for a clean, left aligned appearance.

Base

  • Amazing
  • discotheques
  • jukeboxes
    • Amazing
    • discotheques
    • jukeboxes
<ul class="modifier-class">
  <li>Amazing</li>
  <li>discotheques</li>
  <li>jukeboxes
    <ul class="modifier-class">
      <li>Amazing</li>
      <li>discotheques</li>
      <li>jukeboxes</li>
    </ul>
  </li>
</ul>

Modifiers

  • Amazing
  • discotheques
  • jukeboxes
    • Amazing
    • discotheques
    • jukeboxes
.list-plain

Defaults

All default text elements are styled to facilitate smooth reading, simple flow, and appropriate proportions. This is a default paragraph. This is a default link. Below is a sample of default type elements.

Header One

Header Two

Header Three

Header Four

Header Five
Header Six
  1. List One that is really long and will break to the next line, demonstrating that the left edges of the text are aligned.
  2. List Two
  3. List Three
  • List Item that is really long and will break to the next line, demonstrating that the left edges of the text are aligned.
    • sub list item
    • sub list item
  • List Item
  • List Item

Lorem Ipsum Blockquote

Lorem ipsum paragraph with strong, bold text and emphasis, italic text.

Guildenstern
I don't believe in it anyway.
Rosencrantz
What?
Guildenstern
England.
Rosencrantz
Just a conspiracy of cartographers, then?