.shared {
  font-family: var(--type-heading-fontStack);
  letter-spacing: var(--type-heading-letterSpacing);
  line-height: var(--type-heading-lineHeight);
}

.shared em {
    font-style: italic;
  }

.shared s {
    text-decoration: line-through;
  }

.weightLight {
  font-weight: var(--type-heading-fontWeights-light);
}

.weightNormal {
  font-weight: var(--type-heading-fontWeights-normal);
}

.weightMedium {
  font-weight: var(--type-heading-fontWeights-medium);
}

.sizeXs {
    font-size: var(--type-heading-fontSizes-xs);
  }

.sizeSm {
    font-size: var(--type-heading-fontSizes-sm);
  }

.sizeMd {
    font-size: var(--type-heading-fontSizes-md);
  }

.sizeLg {
    font-size: var(--type-heading-fontSizes-lg);
  }

.sizeXl {
    font-size: var(--type-heading-fontSizes-xl);
  }

@media (min-width: 588px) {

  .sizeXsBreakpointSm {
    font-size: var(--type-heading-fontSizes-xs);
  }

  .sizeSmBreakpointSm {
    font-size: var(--type-heading-fontSizes-sm);
  }

  .sizeMdBreakpointSm {
    font-size: var(--type-heading-fontSizes-md);
  }

  .sizeLgBreakpointSm {
    font-size: var(--type-heading-fontSizes-lg);
  }

  .sizeXlBreakpointSm {
    font-size: var(--type-heading-fontSizes-xl);
  }
}

@media (min-width: 796px) {

  .sizeXsBreakpointMd {
    font-size: var(--type-heading-fontSizes-xs);
  }

  .sizeSmBreakpointMd {
    font-size: var(--type-heading-fontSizes-sm);
  }

  .sizeMdBreakpointMd {
    font-size: var(--type-heading-fontSizes-md);
  }

  .sizeLgBreakpointMd {
    font-size: var(--type-heading-fontSizes-lg);
  }

  .sizeXlBreakpointMd {
    font-size: var(--type-heading-fontSizes-xl);
  }
}

@media (min-width: 978px) {

  .sizeXsBreakpointLg {
    font-size: var(--type-heading-fontSizes-xs);
  }

  .sizeSmBreakpointLg {
    font-size: var(--type-heading-fontSizes-sm);
  }

  .sizeMdBreakpointLg {
    font-size: var(--type-heading-fontSizes-md);
  }

  .sizeLgBreakpointLg {
    font-size: var(--type-heading-fontSizes-lg);
  }

  .sizeXlBreakpointLg {
    font-size: var(--type-heading-fontSizes-xl);
  }
}

@media (min-width: 1280px) {

  .sizeXsBreakpointXl {
    font-size: var(--type-heading-fontSizes-xs);
  }

  .sizeSmBreakpointXl {
    font-size: var(--type-heading-fontSizes-sm);
  }

  .sizeMdBreakpointXl {
    font-size: var(--type-heading-fontSizes-md);
  }

  .sizeLgBreakpointXl {
    font-size: var(--type-heading-fontSizes-lg);
  }

  .sizeXlBreakpointXl {
    font-size: var(--type-heading-fontSizes-xl);
  }
}

@media (min-width: 1440px) {

  .sizeXsBreakpointXxl {
    font-size: var(--type-heading-fontSizes-xs);
  }

  .sizeSmBreakpointXxl {
    font-size: var(--type-heading-fontSizes-sm);
  }

  .sizeMdBreakpointXxl {
    font-size: var(--type-heading-fontSizes-md);
  }

  .sizeLgBreakpointXxl {
    font-size: var(--type-heading-fontSizes-lg);
  }

  .sizeXlBreakpointXxl {
    font-size: var(--type-heading-fontSizes-xl);
  }
}
