/* --------------------------------
Typography
-------------------------------- */
:root {
--font-primary: sans-serif;
--font-secondary: serif;
/* set base values */
--text-base-size: 1em;
--text-scale-ratio: 1.2;
/* type scale */
--text-xs: calc(1em / (var(--text-scale-ratio) * var(--text-scale-ratio)));
--text-sm: calc(1em / var(--text-scale-ratio));
--text-md: calc(1em * var(--text-scale-ratio));
--text-lg: calc(1em * var(--text-scale-ratio) * var(--text-scale-ratio));
--text-xl: calc(1em * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
--text-xxl: calc(1em * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
--text-xxxl: calc(1em * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
/* line-height */
--heading-line-height: 1.2;
--body-line-height: 1.4;
}
@include breakpoint(md) {
:root {
--text-base-size: 1.25em;
--text-scale-ratio: 1.25;
}
}
body {
font-size: var(--text-base-size);
font-family: var(--font-primary);
color: var(--color-text);
}
h1, h2, h3, h4, form legend {
color: var(--color-text-heading);
margin-bottom: var(--space-xxs);
line-height: var(--heading-line-height);
}
/* text size */
.text--xxxl {
font-size: var(--text-xxxl);
}
h1, .text--xxl {
font-size: var(--text-xxl);
}
h2, .text--xl {
font-size: var(--text-xl);
}
h3, .text--lg {
font-size: var(--text-lg);
}
h4, .text--md {
font-size: var(--text-md);
}
.text--sm, small {
font-size: var(--text-sm);
}
.text--xs {
font-size: var(--text-xs);
}
p {
line-height: var(--body-line-height);
}
a {
color: var(--color-link);
&:visited {
color: var(--color-link-visited);
}
}
b, strong {
font-weight: bold;
}
.text-container {
h2, h3, h4 {
margin-top: var(--space-sm);
}
ul, ol, p {
margin-bottom: var(--space-md);
}
ul, ol {
list-style-position: outside;
padding-left: 24px;
}
ul {
list-style-type: disc;
}
ol {
list-style-type: decimal;
}
ul li, ol li {
line-height: var(--body-line-height);
}
em {
font-style: italic;
}
u {
text-decoration: underline;
}
}
/* utility classes */
.truncate {
// truncate text if it exceeds parent
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}