body,
%form-element-text-input {
  @extend %typo-body;
}
h1 {
  @extend %h1;
  font-size: $typo-header-100;
}
h2 {
  @extend %h2;
  font-size: $typo-header-200;
}
h3 {
  @extend %h3;
  font-size: $typo-header-300;
}
fieldset > header,
%main-nav-horizontal-action,
%app-view-content div > dl > dt,
%table caption,
%tbody-th,
%confirmation-alert header,
%form-element > span {
  @extend %h4;
}
%internal-button,
%breadcrumbs li > *,
%tab-nav {
  @extend %h5;
}
%healthcheck-output dt,
%table th,
%table td strong,
%tooltip-bubble,
%sliding-toggle label span {
  @extend %h6;
}

pre code,
%notice,
%notice p,
%flash-message p,
%filter-bar input,
%phrase-editor input {
  @extend %p1;
}
.type-dialog,
%table td p,
%table td,
%healthcheck-output dl > dd,
%form-element-label,
%stats-card header a span,
%footer,
%menu-panel-header,
%app-view h1 span.kind-proxy {
  @extend %p2;
}
.template-error > div,
%button,
%main-content p,
%app-view > div.disabled > div,
%form-element-note,
%menu-panel-separator,
%form-element-error > strong {
  @extend %p3;
}

%radio-group label {
  line-height: $typo-lead-200;
}
%tab-nav {
  letter-spacing: 0.03em;
}

/*TODO: See if we can collapse these into a */
/* strong %p3 */
%button {
  font-weight: $typo-weight-semibold;
}
%route-card section dt,
%route-card header:not(.short) dd,
%splitter-card > header {
  font-weight: $typo-weight-bold;
}
%menu-panel-separator {
  font-weight: $typo-weight-medium;
}
/**/

/* resets */
%main-content label a[rel*='help'],
%pill,
%form-element > strong,
%tbody-th em,
%app-view h1 em,
%route-card header dt {
  font-weight: $typo-weight-normal;
}

%form-element > em,
%tbody-th em,
%app-view h1 em {
  font-style: normal;
}
/**/

/* TODO: We have nothing else with a 500 */
/* either make this the biggest %p or don't use it */
%app-view h1 em {
  font-size: $typo-size-500;
}
