/**
 * Convert a font size to a dynamic font size.
 * Fonts that participate in Dynamic Type should use
 * dynamic font sizes.
 * @param size - The initial font size including the unit (i.e. px or pt)
 * @param unit (optional) - The unit to convert to. Use this if you want to
 * convert to a unit other than $baselineUnit.
 */
/**
 * Convert a font size to a dynamic font size but impose
 * a maximum font size.
 * @param size - The initial font size including the unit (i.e. px or pt)
 * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
 * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
 * convert to a unit other than $baselineUnit.
 */
/**
 * Convert a font size to a dynamic font size but impose
 * a minimum font size.
 * @param size - The initial font size including the unit (i.e. px or pt)
 * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
 * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
 * convert to a unit other than $baselineUnit.
 */
/**
 * Convert a font size to a dynamic font size but impose
 * maximum and minimum font sizes.
 * @param size - The initial font size including the unit (i.e. px or pt)
 * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
 * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
 * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
 * convert to a unit other than $baselineUnit.
 */
/**
 * A heuristic that applies CSS to tablet
 * viewports.
 *
 * Usage:
 * @include tablet-viewport() {
 *   :host {
 *     background-color: green;
 *   }
 * }
 */
/**
   * A heuristic that applies CSS to mobile
   * viewports (i.e. phones, not tablets).
   *
   * Usage:
   * @include mobile-viewport() {
   *   :host {
   *     background-color: blue;
   *   }
   * }
   */
:host {
  display: block;
  font-family: var(--cpsl-font-family, inherit);
  padding: 0px;
  margin: 0px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smooth: never;
  font-synthesis: none;
}

:host(.primary) {
  color: var(--color-override, var(--cpsl-color-text-primary));
}
:host(.primary) > p,
:host(.primary) h1,
:host(.primary) h2,
:host(.primary) h3,
:host(.primary) h4,
:host(.primary) h5,
:host(.primary) h6 {
  color: var(--color-override, var(--cpsl-color-text-primary));
}

:host(.secondary) {
  color: var(--color-override, var(--cpsl-color-text-secondary));
}
:host(.secondary) > p,
:host(.secondary) h1,
:host(.secondary) h2,
:host(.secondary) h3,
:host(.secondary) h4,
:host(.secondary) h5,
:host(.secondary) h6 {
  color: var(--color-override, var(--cpsl-color-text-secondary));
}

:host(.tertiary) {
  color: var(--color-override, var(--cpsl-color-text-tertiary));
}
:host(.tertiary) > p,
:host(.tertiary) h1,
:host(.tertiary) h2,
:host(.tertiary) h3,
:host(.tertiary) h4,
:host(.tertiary) h5,
:host(.tertiary) h6 {
  color: var(--color-override, var(--cpsl-color-text-tertiary));
}

:host(.subtle) {
  color: var(--color-override, var(--cpsl-color-text-subtle));
}
:host(.subtle) > p,
:host(.subtle) h1,
:host(.subtle) h2,
:host(.subtle) h3,
:host(.subtle) h4,
:host(.subtle) h5,
:host(.subtle) h6 {
  color: var(--color-override, var(--cpsl-color-text-subtle));
}

:host(.inverted) {
  color: var(--color-override, var(--cpsl-color-text-inverted));
}
:host(.inverted) > p,
:host(.inverted) h1,
:host(.inverted) h2,
:host(.inverted) h3,
:host(.inverted) h4,
:host(.inverted) h5,
:host(.inverted) h6 {
  color: var(--color-override, var(--cpsl-color-text-inverted));
}

:host(.error) {
  color: var(--color-override, var(--cpsl-color-text-error));
}
:host(.error) > p,
:host(.error) h1,
:host(.error) h2,
:host(.error) h3,
:host(.error) h4,
:host(.error) h5,
:host(.error) h6 {
  color: var(--color-override, var(--cpsl-color-text-error));
}

:host(.success) {
  color: var(--color-override, var(--cpsl-color-utility-green));
}
:host(.success) > p,
:host(.success) h1,
:host(.success) h2,
:host(.success) h3,
:host(.success) h4,
:host(.success) h5,
:host(.success) h6 {
  color: var(--color-override, var(--cpsl-color-utility-green));
}

:host(.contrast) {
  color: var(--color-override, var(--cpsl-color-text-contrast));
}
:host(.contrast) > p,
:host(.contrast) h1,
:host(.contrast) h2,
:host(.contrast) h3,
:host(.contrast) h4,
:host(.contrast) h5,
:host(.contrast) h6 {
  color: var(--color-override, var(--cpsl-color-text-contrast));
}

:host(.regular) {
  font-weight: 400;
}
:host(.regular) > p,
:host(.regular) h1,
:host(.regular) h2,
:host(.regular) h3,
:host(.regular) h4,
:host(.regular) h5,
:host(.regular) h6 {
  font-weight: 400;
}

:host(.medium) {
  font-weight: 500;
}
:host(.medium) > p,
:host(.medium) h1,
:host(.medium) h2,
:host(.medium) h3,
:host(.medium) h4,
:host(.medium) h5,
:host(.medium) h6 {
  font-weight: 500;
}

:host(.semi-bold) {
  font-weight: 600;
}
:host(.semi-bold) > p,
:host(.semi-bold) h1,
:host(.semi-bold) h2,
:host(.semi-bold) h3,
:host(.semi-bold) h4,
:host(.semi-bold) h5,
:host(.semi-bold) h6 {
  font-weight: 600;
}

:host(.bold) {
  font-weight: 700;
}
:host(.bold) > p,
:host(.bold) h1,
:host(.bold) h2,
:host(.bold) h3,
:host(.bold) h4,
:host(.bold) h5,
:host(.bold) h6 {
  font-weight: 700;
}

:host(.body-2xs) {
  font-size: var(--cpsl-font-size-body-2xs);
}
:host(.body-2xs) > p,
:host(.body-2xs) h1,
:host(.body-2xs) h2,
:host(.body-2xs) h3,
:host(.body-2xs) h4,
:host(.body-2xs) h5,
:host(.body-2xs) h6 {
  font-size: var(--cpsl-font-size-body-2xs);
}

:host(.body-xs) {
  font-size: var(--cpsl-font-size-body-xs);
}
:host(.body-xs) > p,
:host(.body-xs) h1,
:host(.body-xs) h2,
:host(.body-xs) h3,
:host(.body-xs) h4,
:host(.body-xs) h5,
:host(.body-xs) h6 {
  font-size: var(--cpsl-font-size-body-xs);
}

:host(.body-s) {
  font-size: var(--cpsl-font-size-body-s);
  line-height: 142.857%;
}
:host(.body-s) > p,
:host(.body-s) h1,
:host(.body-s) h2,
:host(.body-s) h3,
:host(.body-s) h4,
:host(.body-s) h5,
:host(.body-s) h6 {
  font-size: var(--cpsl-font-size-body-s);
  line-height: 142.857%;
}

:host(.body-m) {
  font-size: var(--cpsl-font-size-body-m);
  line-height: 150%;
}
:host(.body-m) > p,
:host(.body-m) h1,
:host(.body-m) h2,
:host(.body-m) h3,
:host(.body-m) h4,
:host(.body-m) h5,
:host(.body-m) h6 {
  font-size: var(--cpsl-font-size-body-m);
  line-height: 150%;
}

:host(.body-l) {
  font-size: var(--cpsl-font-size-body-l);
  line-height: 140%;
}
:host(.body-l) > p,
:host(.body-l) h1,
:host(.body-l) h2,
:host(.body-l) h3,
:host(.body-l) h4,
:host(.body-l) h5,
:host(.body-l) h6 {
  font-size: var(--cpsl-font-size-body-l);
  line-height: 140%;
}

:host(.body-xl) {
  font-size: var(--cpsl-font-size-body-xl);
}
:host(.body-xl) > p,
:host(.body-xl) h1,
:host(.body-xl) h2,
:host(.body-xl) h3,
:host(.body-xl) h4,
:host(.body-xl) h5,
:host(.body-xl) h6 {
  font-size: var(--cpsl-font-size-body-xl);
}

:host(.heading-xs) {
  font-size: var(--cpsl-font-size-heading-xs);
}
:host(.heading-xs) > p,
:host(.heading-xs) h1,
:host(.heading-xs) h2,
:host(.heading-xs) h3,
:host(.heading-xs) h4,
:host(.heading-xs) h5,
:host(.heading-xs) h6 {
  font-size: var(--cpsl-font-size-heading-xs);
}

:host(.heading-s) {
  font-size: var(--cpsl-font-size-heading-s);
}
:host(.heading-s) > p,
:host(.heading-s) h1,
:host(.heading-s) h2,
:host(.heading-s) h3,
:host(.heading-s) h4,
:host(.heading-s) h5,
:host(.heading-s) h6 {
  font-size: var(--cpsl-font-size-heading-s);
}

:host(.heading-m) {
  font-size: var(--cpsl-font-size-heading-m);
  letter-spacing: -0.4px;
}
:host(.heading-m) > p,
:host(.heading-m) h1,
:host(.heading-m) h2,
:host(.heading-m) h3,
:host(.heading-m) h4,
:host(.heading-m) h5,
:host(.heading-m) h6 {
  font-size: var(--cpsl-font-size-heading-m);
  letter-spacing: -0.4px;
}

:host(.heading-l) {
  font-size: var(--cpsl-font-size-heading-l);
  letter-spacing: -1.12px;
}
:host(.heading-l) > p,
:host(.heading-l) h1,
:host(.heading-l) h2,
:host(.heading-l) h3,
:host(.heading-l) h4,
:host(.heading-l) h5,
:host(.heading-l) h6 {
  font-size: var(--cpsl-font-size-heading-l);
  letter-spacing: -1.12px;
}

:host(.heading-xl) {
  font-size: var(--cpsl-font-size-heading-xl);
  letter-spacing: -1.28px;
}
:host(.heading-xl) > p,
:host(.heading-xl) h1,
:host(.heading-xl) h2,
:host(.heading-xl) h3,
:host(.heading-xl) h4,
:host(.heading-xl) h5,
:host(.heading-xl) h6 {
  font-size: var(--cpsl-font-size-heading-xl);
  letter-spacing: -1.28px;
}

:host(.heading-2xl) {
  font-size: var(--cpsl-font-size-heading-2xl);
  letter-spacing: -1.44px;
}
:host(.heading-2xl) > p,
:host(.heading-2xl) h1,
:host(.heading-2xl) h2,
:host(.heading-2xl) h3,
:host(.heading-2xl) h4,
:host(.heading-2xl) h5,
:host(.heading-2xl) h6 {
  font-size: var(--cpsl-font-size-heading-2xl);
  letter-spacing: -1.44px;
}

:host(.align-left) {
  text-align: left;
}

:host(.align-center) {
  text-align: center;
}

:host(.align-right) {
  text-align: right;
}

:host p,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--cpsl-font-family, inherit);
  padding: 0px;
  margin: 0px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smooth: never;
  font-synthesis: none;
}
:host p::-moz-selection,
h1::-moz-selection,
h2::-moz-selection,
h3::-moz-selection,
h4::-moz-selection,
h5::-moz-selection,
h6::-moz-selection {
  /* Code for Firefox */
  color: var(--cpsl-color-text-inverted) !important;
  background: var(--cpsl-color-background-64) !important;
}
:host p::selection,
h1::selection,
h2::selection,
h3::selection,
h4::selection,
h5::selection,
h6::selection {
  color: var(--cpsl-color-text-inverted) !important;
  background: var(--cpsl-color-background-64) !important;
}