:host {
  display: block;
  max-width: 100%;
}

  :host * {
    box-sizing: border-box;
  }

.text {
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.text--align-start {
  text-align: start;
}

.text--align-center {
  text-align: center;
}

.text--align-end {
  text-align: end;
}

.text--color-default {
  color: var(--s-text-default);
}

.text--color-disabled {
  color: var(--s-text-disabled);
}

.text--color-highlight {
  color: var(--s-text-highlight);
}

.text--color-on-action-primary {
  color: var(--s-text-on-action-primary);
}

.text--color-on-image {
  color: var(--s-text-on-image);
}

.text--color-on-status {
  color: var(--s-text-on-status);
}

.text--color-on-surface-highlight {
  color: var(--s-text-on-surface-highlight);
}

.text--color-on-surface-highlight-subdued {
  color: var(--s-text-on-surface-highlight-subdued);
}

.text--color-subdued {
  color: var(--s-text-subdued);
}

.text--color-critical {
  color: var(--s-text-critical);
}

.text--color-success {
  color: var(--s-text-success);
}

.text--color-warning {
  color: var(--s-text-warning);
}

.text--size-xs {
  font-size: var(--s-font-size-xs);
  line-height: var(--s-line-height-xs);
}

.text--size-sm {
  font-size: var(--s-font-size-sm);
  line-height: var(--s-line-height-sm);
}

.text--size-base {
  font-size: var(--s-font-size-base);
  line-height: var(--s-line-height-base);
}

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.text--size-base.text--responsive {
      font-size: var(--s-font-size-sm);
      line-height: var(--s-line-height-sm)
  }
    }

.text--size-lg {
  font-size: var(--s-font-size-lg);
  line-height: var(--s-line-height-lg);
}

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.text--size-lg.text--responsive {
      font-size: var(--s-font-size-base);
      line-height: var(--s-line-height-base)
  }
    }

.text--size-xl {
  font-size: var(--s-font-size-xl);
  line-height: var(--s-line-height-xl);
}

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.text--size-xl.text--responsive {
      font-size: var(--s-font-size-lg);
      line-height: var(--s-line-height-lg)
  }
    }

.text--size-2xl {
  font-size: var(--s-font-size-2xl);
  line-height: var(--s-line-height-2xl);
}

@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px) {

.text--size-2xl.text--responsive {
      font-size: var(--s-font-size-xl);
      line-height: var(--s-line-height-xl)
  }
    }

.text--weight-normal {
  font-weight: var(--s-font-weight-normal);
}

.text--weight-medium {
  font-weight: var(--s-font-weight-medium);
}

.text--weight-semibold {
  font-weight: var(--s-font-weight-semibold);
}

.text--weight-bold {
  font-weight: var(--s-font-weight-bold);
}

.text--font-style-normal {
  font-style: normal;
}

.text--font-style-italic {
  font-style: italic;
}

.text--font-family-code {
  font-family: var(--s-font-family-code);
}

.text--truncate {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.text--truncate-direction-start {
  direction: rtl;
  text-align: left;
}
