/*!
 * Utilities/Typography
 */

/* Text align */

.text-left {
	text-align: left !important;
}

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

.text-right {
	text-align: right !important;
}

.text-justify {
	text-align: justify !important;
}

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

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

@media (min-width: 37.5em) {
	.sm\:text-left {
		text-align: left !important;
	}

	.sm\:text-center {
		text-align: center !important;
	}

	.sm\:text-right {
		text-align: right !important;
	}

	.sm\:text-justify {
		text-align: justify !important;
	}

	.sm\:text-start {
		text-align: start !important;
	}

	.sm\:text-end {
		text-align: end !important;
	}
}

@media (min-width: 52.5em) {
	.md\:text-left {
		text-align: left !important;
	}

	.md\:text-center {
		text-align: center !important;
	}

	.md\:text-right {
		text-align: right !important;
	}

	.md\:text-justify {
		text-align: justify !important;
	}

	.md\:text-start {
		text-align: start !important;
	}

	.md\:text-end {
		text-align: end !important;
	}
}

@media (min-width: 80em) {
	.lg\:text-left {
		text-align: left !important;
	}

	.lg\:text-center {
		text-align: center !important;
	}

	.lg\:text-right {
		text-align: right !important;
	}

	.lg\:text-justify {
		text-align: justify !important;
	}

	.lg\:text-start {
		text-align: start !important;
	}

	.lg\:text-end {
		text-align: end !important;
	}
}

@media (min-width: 100em) {
	.xl\:text-left {
		text-align: left !important;
	}

	.xl\:text-center {
		text-align: center !important;
	}

	.xl\:text-right {
		text-align: right !important;
	}

	.xl\:text-justify {
		text-align: justify !important;
	}

	.xl\:text-start {
		text-align: start !important;
	}

	.xl\:text-end {
		text-align: end !important;
	}
}

/* Text decoration */

.underline {
	text-decoration-line: underline;
}

.overline {
	text-decoration-line: overline;
}

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

.no-underline {
	text-decoration-line: none;
}

/* Text emphasis */

.text-high-emphasis {
	opacity: var(--x-sys-opacity-high-emphasis) !important;
}

.text-medium-emphasis {
	opacity: var(--x-sys-opacity-medium-emphasis) !important;
}

.text-disabled {
	opacity: var(--x-sys-opacity-disabled) !important;
}

/* Text transform */

.uppercase {
	text-transform: uppercase !important;
}

.lowercase {
	text-transform: lowercase !important;
}

.capitalize {
	text-transform: capitalize !important;
}

.normal-case {
	text-transform: none !important;
}

/* Font family */

.font-brand {
	font-family: var(--x-ref-typeface-brand) !important;
}

.font-plain {
	font-family: var(--x-ref-typeface-plain) !important;
}

.font-\[rammetto-one\] {
	font-family: 'Rammetto One' !important;
}

/* Font size */

@media (min-width: 37.5em) {
	.sm\:text-\[1\.5rem\] {
		font-size: 1.5rem !important;
	}
}

@media (min-width: 52.5em) {
	.md\:text-\[1rem\] {
		font-size: 1rem !important;
	}
}

@media (min-width: 80em) {
	.lg\:text-\[1\.25rem\] {
		font-size: 1.25rem !important;
	}
}

@media (min-width: 100em) {
	.xl\:text-\[1\.5rem\] {
		font-size: 1.5rem !important;
	}
}

/* Font style */

.italic {
	font-style: italic !important;
}

/* Font weight */

.font-thin {
	font-weight: 100 !important;
}

.font-light {
	font-weight: 300 !important;
}

.font-normal {
	font-weight: 400 !important;
}

.font-medium {
	font-weight: 500 !important;
}

.font-semibold {
	font-weight: 600 !important;
}

.font-bold {
	font-weight: 700 !important;
}

.font-black {
	font-weight: 900 !important;
}

/* Font variant */

.font-variant-numeric {
	font-variant-numeric: lining-nums proportional-nums;
}

/* Line clamp */

.line-clamp-4 {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}

/* Line height */

.leading-4 {
	line-height: 1rem !important;
}

.leading-16 {
	line-height: 4rem !important;
}

.leading-\[1\] {
	line-height: 1 !important;
}

@media (min-width: 37.5em) {
	.sm\:leading-\[6\.25rem\] {
		line-height: 6.25rem !important;
	}
}

@media (min-width: 80em) {
	.lg\:leading-8 {
		line-height: 2rem !important;
	}

	.lg\:leading-\[8\.75rem\] {
		line-height: 8.75rem !important;
	}
}

@media (min-width: 100em) {
	.xl\:leading-10 {
		line-height: 2.5rem !important;
	}

	.xl\:leading-\[10\.75rem\] {
		line-height: 10.75rem !important;
	}
}

/* Text truncate */

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

/* Whitespace */

.whitespace-normal {
	white-space: normal !important;
}

.whitespace-nowrap {
	white-space: nowrap !important;
}

/* Word Break */

.break-words {
	overflow-wrap: break-word !important;
}
