.ui-headline {
	--ui-headline-xl-font-family: var(--ui-font-family-primary);
	--ui-headline-xl-font-size: 25px;
	--ui-headline-xl-line-height: 33px;
	--ui-headline-xl-letter-spacing: -0.35px;
	--ui-headline-xl-font-weight: var(--ui-font-weight-medium, 500);

	--ui-headline-lg-font-family: var(--ui-font-family-primary);
	--ui-headline-lg-font-size: 21px;
	--ui-headline-lg-line-height: 29px;
	--ui-headline-lg-letter-spacing: -0.35px;
	--ui-headline-lg-font-weight: var(--ui-font-weight-medium, 500);

	--ui-headline-md-font-family: var(--ui-font-family-primary);
	--ui-headline-md-font-size: 19px;
	--ui-headline-md-line-height: 26px;
	--ui-headline-md-letter-spacing: -0.2px;
	--ui-headline-md-font-weight: var(--ui-font-weight-medium, 500);

	--ui-headline-sm-font-family: var(--ui-font-family-primary);
	--ui-headline-sm-font-size: 17px;
	--ui-headline-sm-line-height: 23px;
	--ui-headline-sm-letter-spacing: -0.1px;
	--ui-headline-sm-font-weight: var(--ui-font-weight-medium, 500);

	--ui-headline-xs-font-family: var(--ui-font-family-primary);
	--ui-headline-xs-font-size: 15px;
	--ui-headline-xs-line-height: 20px;
	--ui-headline-xs-letter-spacing: -0.1px;
	--ui-headline-xs-font-weight: var(--ui-font-weight-medium, 500);
}

/* headline */
.ui-headline {
	color: var(--ui-color-base-1);
	margin: 0;
}

/* headline sizes */
.ui-headline.--xl {
	font-family: var(--ui-headline-xl-font-family);
	font-size: var(--ui-headline-xl-font-size);
	line-height: var(--ui-headline-xl-line-height);
	letter-spacing: var(--ui-headline-xl-letter-spacing);
	font-weight: var(--ui-headline-xl-font-weight);
}

.ui-headline.--lg {
	font-family: var(--ui-headline-lg-font-family);
	font-size: var(--ui-headline-lg-font-size);
	line-height: var(--ui-headline-lg-line-height);
	letter-spacing: var(--ui-headline-lg-letter-spacing);
	font-weight: var(--ui-headline-lg-font-weight);
}

.ui-headline.--md {
	font-family: var(--ui-headline-md-font-family);
	font-size: var(--ui-headline-md-font-size);
	line-height: var(--ui-headline-md-line-height);
	letter-spacing: var(--ui-headline-md-letter-spacing);
	font-weight: var(--ui-headline-md-font-weight);
}

.ui-headline.--sm {
	font-family: var(--ui-headline-sm-font-family);
	font-size: var(--ui-headline-sm-font-size);
	line-height: var(--ui-headline-sm-line-height);
	letter-spacing: var(--ui-headline-sm-letter-spacing);
	font-weight: var(--ui-headline-sm-font-weight);
}

.ui-headline.--xs {
	font-family: var(--ui-headline-xs-font-family);
	font-size: var(--ui-headline-xs-font-size);
	line-height: var(--ui-headline-xs-line-height);
	letter-spacing: var(--ui-headline-xs-letter-spacing);
	font-weight: var(--ui-headline-xs-font-weight);
}

/* Text */
.ui-text {
	--ui-text-2xl-font-family: var(--ui-font-family-primary);
	--ui-text-2xl-font-size: 19px;
	--ui-text-2xl-line-height: 26px;
	--ui-text-2xl-letter-spacing: -0.2px;
	--ui-text-2xl-font-weight: var(--ui-font-weight-regular, 400);

	--ui-text-xl-font-family: var(--ui-font-family-primary);
	--ui-text-xl-font-size: 17px;
	--ui-text-xl-line-height: 23px;
	--ui-text-xl-letter-spacing: -0.1px;
	--ui-text-xl-font-weight: var(--ui-font-weight-regular, 400);

	--ui-text-lg-font-family: var(--ui-font-family-primary);
	--ui-text-lg-font-size: 16px;
	--ui-text-lg-line-height: 21px;
	--ui-text-lg-letter-spacing: -0.1px;
	--ui-text-lg-font-weight: var(--ui-font-weight-regular, 400);

	--ui-text-md-font-family: var(--ui-font-family-primary);
	--ui-text-md-font-size: 15px;
	--ui-text-md-line-height: 20px;
	--ui-text-md-letter-spacing: -0.05px;
	--ui-text-md-font-weight: var(--ui-font-weight-regular, 400);

	--ui-text-sm-font-family: var(--ui-font-family-primary);
	--ui-text-sm-font-size: 14px;
	--ui-text-sm-line-height: 19px;
	--ui-text-sm-letter-spacing: -0.05px;
	--ui-text-sm-font-weight: var(--ui-font-weight-regular, 400);

	--ui-text-xs-font-family: var(--ui-font-family-primary);
	--ui-text-xs-font-size: 13px;
	--ui-text-xs-line-height: 17px;
	--ui-text-xs-letter-spacing: -0.05px;
	--ui-text-xs-font-weight: var(--ui-font-weight-regular, 400);

	--ui-text-2xs-font-family: var(--ui-font-family-primary);
	--ui-text-2xs-font-size: 12px;
	--ui-text-2xs-line-height: 15px;
	--ui-text-2xs-letter-spacing: -0.05px;
	--ui-text-2xs-font-weight: var(--ui-font-weight-regular, 400);

	--ui-text-3xs-font-family: var(--ui-font-family-primary);
	--ui-text-3xs-font-size: 10px;
	--ui-text-3xs-line-height: 12px;
	--ui-text-3xs-letter-spacing: 0px;
	--ui-text-3xs-font-weight: var(--ui-font-weight-regular, 400);

	--ui-text-4xs-font-family: var(--ui-font-family-primary);
	--ui-text-4xs-font-size: 9px;
	--ui-text-4xs-line-height: 12px;
	--ui-text-4xs-letter-spacing: 0px;
	--ui-text-4xs-font-weight: var(--ui-font-weight-regular, 400);
}

.ui-text {
	color: var(--ui-color-base-1);
	margin: 0;
}

/* Text sizes */
.ui-text.--2xl {
	font-family: var(--ui-text-2xl-font-family);
	font-size: var(--ui-text-2xl-font-size);
	line-height: var(--ui-text-2xl-line-height);
	letter-spacing: var(--ui-text-2xl-letter-spacing);
	font-weight: var(--ui-text-2xl-font-weight);
}

.ui-text.--xl {
	font-family: var(--ui-text-xl-font-family);
	font-size: var(--ui-text-xl-font-size);
	line-height: var(--ui-text-xl-line-height);
	letter-spacing: var(--ui-text-xl-letter-spacing);
	font-weight: var(--ui-text-xl-font-weight);
}

.ui-text.--lg {
	font-family: var(--ui-text-lg-font-family);
	font-size: var(--ui-text-lg-font-size);
	line-height: var(--ui-text-lg-line-height);
	letter-spacing: var(--ui-text-lg-letter-spacing);
	font-weight: var(--ui-text-lg-font-weight);
}

.ui-text.--md {
	font-family: var(--ui-text-md-font-family);
	font-size: var(--ui-text-md-font-size);
	line-height: var(--ui-text-md-line-height);
	letter-spacing: var(--ui-text-md-letter-spacing);
	font-weight: var(--ui-text-md-font-weight);
}

.ui-text.--sm {
	font-family: var(--ui-text-sm-font-family);
	font-size: var(--ui-text-sm-font-size);
	line-height: var(--ui-text-sm-line-height);
	letter-spacing: var(--ui-text-sm-letter-spacing);
	font-weight: var(--ui-text-sm-font-weight);
}

.ui-text.--xs {
	font-family: var(--ui-text-xs-font-family);
	font-size: var(--ui-text-xs-font-size);
	line-height: var(--ui-text-xs-line-height);
	letter-spacing: var(--ui-text-xs-letter-spacing);
	font-weight: var(--ui-text-xs-font-weight);
}

.ui-text.--2xs {
	font-family: var(--ui-text-2xs-font-family);
	font-size: var(--ui-text-2xs-font-size);
	line-height: var(--ui-text-2xs-line-height);
	letter-spacing: var(--ui-text-2xs-letter-spacing);
	font-weight: var(--ui-text-2xs-font-weight);
}

.ui-text.--3xs {
	font-family: var(--ui-text-3xs-font-family);
	font-size: var(--ui-text-3xs-font-size);
	line-height: var(--ui-text-3xs-line-height);
	letter-spacing: var(--ui-text-3xs-letter-spacing);
	font-weight: var(--ui-text-3xs-font-weight);
}

.ui-text.--3xs.--uppercase {
	font-size: var(--ui-text-3xs-font-size);
	line-height: 14px;
	letter-spacing: 0.75px;
	font-weight: var(--ui-font-weight-medium);
}

.ui-text.--3xs.--uppercase.--accent {
	font-weight: var(--ui-font-weight-semi-bold);
}

.ui-text.--4xs {
	font-family: var(--ui-text-4xs-font-family);
	font-size: var(--ui-text-4xs-font-size);
	line-height: var(--ui-text-4xs-line-height);
	letter-spacing: var(--ui-text-4xs-letter-spacing);
	font-weight: var(--ui-text-4xs-font-weight);
}

.ui-text.--4xs.--uppercase {
	line-height: 13px;
	font-weight: var(--ui-font-weight-medium);
	letter-spacing: 0.65px;
}

.ui-text.--4xs.--uppercase.--accent {
	font-weight: var(--ui-font-weight-semi-bold);
}

.ui-headline.--accent {
	font-weight: var(--ui-font-weight-semi-bold, 600);
}

.ui-text.--accent {
	font-weight: var(--ui-font-weight-medium, 500);
}

.ui-headline.--align-left,
.ui-text.--align-left {
	text-align: left;
}

.ui-headline.--align-center,
.ui-text.--align-center {
	text-align: center;
}

.ui-headline.--align-right,
.ui-text.--align-right {
	text-align: right;
}

.ui-headline.--align-justify,
.ui-text.--align-justify {
	text-align: justify;
}

/* Text transform modifiers */
.ui-headline.--uppercase,
.ui-text.--uppercase {
	text-transform: uppercase;
}

.ui-headline.--lowercase,
.ui-text.--lowercase {
	text-transform: lowercase;
}

.ui-headline.--capitalize,
.ui-text.--capitalize {
	text-transform: capitalize;
}

/* Line-break modifiers */
.ui-headline.--truncate,
.ui-text.--truncate {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ui-headline.--break-words,
.ui-text.--break-words {
	overflow-wrap: break-word;
	word-break: break-word;
}

.ui-headline.--break-all,
.ui-text.--break-all {
	word-break: break-all;
}

/* Print styles */
@media print {
	.ui-headline {
		page-break-after: avoid;
		page-break-inside: avoid;
	}
}
