2022-10-23 10:47:50 +07:00
|
|
|
|
@use "sass:map";
|
2022-10-22 13:11:51 +07:00
|
|
|
|
@use "../settings" as *;
|
2022-10-22 11:44:10 +07:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
@if map.get($modules, "content/typography") {
|
|
|
|
|
/**
|
|
|
|
|
* Typography
|
|
|
|
|
*/
|
2019-11-27 15:31:49 +07:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Reboot based on :
|
|
|
|
|
// - normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
|
|
|
|
|
// - sanitize.css v13.0.0 | CC0 1.0 Universal | github.com/csstools/sanitize.css
|
|
|
|
|
// ––––––––––––––––––––
|
2019-11-27 15:31:49 +07:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Add the correct font weight in Chrome, Edge, and Safari
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} b,
|
|
|
|
|
#{$parent-selector} strong {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
font-weight: bolder;
|
|
|
|
|
}
|
2019-11-27 15:31:49 +07:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Prevent `sub` and `sup` elements from affecting the line height in all browsers
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} sub,
|
|
|
|
|
#{$parent-selector} sup {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
position: relative;
|
|
|
|
|
font-size: 0.75em;
|
|
|
|
|
line-height: 0;
|
|
|
|
|
vertical-align: baseline;
|
|
|
|
|
}
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} sub {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
bottom: -0.25em;
|
|
|
|
|
}
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} sup {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
top: -0.5em;
|
|
|
|
|
}
|
2019-11-27 15:31:49 +07:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Pico
|
|
|
|
|
// ––––––––––––––––––––
|
|
|
|
|
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} address,
|
|
|
|
|
#{$parent-selector} blockquote,
|
|
|
|
|
#{$parent-selector} dl,
|
|
|
|
|
#{$parent-selector} ol,
|
|
|
|
|
#{$parent-selector} p,
|
|
|
|
|
#{$parent-selector} pre,
|
|
|
|
|
#{$parent-selector} table,
|
|
|
|
|
#{$parent-selector} ul {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
margin-top: 0;
|
2023-12-28 13:21:52 +07:00
|
|
|
|
margin-bottom: var(#{$css-var-prefix}typography-spacing-vertical);
|
|
|
|
|
color: var(#{$css-var-prefix}color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
font-style: normal;
|
2023-12-28 13:21:52 +07:00
|
|
|
|
font-weight: var(#{$css-var-prefix}font-weight);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
}
|
2019-12-02 23:22:13 +07:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Headings
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} h1,
|
|
|
|
|
#{$parent-selector} h2,
|
|
|
|
|
#{$parent-selector} h3,
|
|
|
|
|
#{$parent-selector} h4,
|
|
|
|
|
#{$parent-selector} h5,
|
|
|
|
|
#{$parent-selector} h6 {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
margin-top: 0;
|
2023-12-28 13:21:52 +07:00
|
|
|
|
margin-bottom: var(#{$css-var-prefix}typography-spacing-vertical);
|
|
|
|
|
color: var(#{$css-var-prefix}color);
|
|
|
|
|
font-weight: var(#{$css-var-prefix}font-weight);
|
|
|
|
|
font-size: var(#{$css-var-prefix}font-size);
|
|
|
|
|
line-height: var(#{$css-var-prefix}line-height);
|
|
|
|
|
font-family: var(#{$css-var-prefix}font-family);
|
2019-12-02 23:22:13 +07:00
|
|
|
|
}
|
2019-11-27 15:31:49 +07:00
|
|
|
|
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} h1 {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
#{$css-var-prefix}color: var(#{$css-var-prefix}h1-color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
}
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} h2 {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
#{$css-var-prefix}color: var(#{$css-var-prefix}h2-color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
}
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} h3 {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
#{$css-var-prefix}color: var(#{$css-var-prefix}h3-color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
}
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} h4 {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
#{$css-var-prefix}color: var(#{$css-var-prefix}h4-color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
}
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} h5 {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
#{$css-var-prefix}color: var(#{$css-var-prefix}h5-color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
}
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} h6 {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
#{$css-var-prefix}color: var(#{$css-var-prefix}h6-color);
|
2019-11-27 15:31:49 +07:00
|
|
|
|
}
|
|
|
|
|
|
2022-12-29 17:44:09 +07:00
|
|
|
|
// Margin-top for headings after a block
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector}
|
|
|
|
|
:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
~ :is(h1, h2, h3, h4, h5, h6) {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
margin-top: var(#{$css-var-prefix}typography-spacing-top);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
}
|
2019-11-27 15:31:49 +07:00
|
|
|
|
}
|
|
|
|
|
|
2023-02-20 23:40:31 +07:00
|
|
|
|
// Paragraphs
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} p {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
margin-bottom: var(#{$css-var-prefix}typography-spacing-vertical);
|
2023-02-20 23:40:31 +07:00
|
|
|
|
}
|
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Heading group
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} hgroup {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
margin-bottom: var(#{$css-var-prefix}typography-spacing-vertical);
|
2019-11-30 12:43:20 +07:00
|
|
|
|
|
2023-02-19 10:27:22 +07:00
|
|
|
|
> * {
|
2023-02-20 23:40:31 +07:00
|
|
|
|
margin-top: 0;
|
2023-02-19 10:27:22 +07:00
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
}
|
2019-11-30 12:43:20 +07:00
|
|
|
|
|
2023-02-19 12:22:02 +07:00
|
|
|
|
> *:not(:first-child):last-child {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
#{$css-var-prefix}color: var(#{$css-var-prefix}muted-color);
|
|
|
|
|
#{$css-var-prefix}font-weight: unset;
|
2023-02-19 10:27:22 +07:00
|
|
|
|
font-size: 1rem;
|
2019-11-30 12:43:20 +07:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Lists
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} :where(ol, ul) {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
li {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
margin-bottom: calc(var(#{$css-var-prefix}typography-spacing-vertical) * 0.25);
|
2021-12-31 11:42:44 +07:00
|
|
|
|
}
|
2022-10-23 10:47:50 +07:00
|
|
|
|
}
|
2020-09-12 10:56:24 +07:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Margin-top for nested lists
|
|
|
|
|
// 1. Remove the margin on nested lists in Chrome, Edge, IE, and Safari
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} :where(dl, ol, ul) :where(dl, ol, ul) {
|
2023-04-02 10:05:01 +07:00
|
|
|
|
margin: 0; // 1
|
2023-12-28 13:21:52 +07:00
|
|
|
|
margin-top: calc(var(#{$css-var-prefix}typography-spacing-vertical) * 0.25);
|
2020-09-12 10:56:24 +07:00
|
|
|
|
}
|
|
|
|
|
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} ul li {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
list-style: square;
|
|
|
|
|
}
|
2021-12-29 19:38:23 +01:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Highlighted text
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} mark {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
padding: 0.125rem 0.25rem;
|
2023-12-28 13:21:52 +07:00
|
|
|
|
background-color: var(#{$css-var-prefix}mark-background-color);
|
|
|
|
|
color: var(#{$css-var-prefix}mark-color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
vertical-align: baseline;
|
|
|
|
|
}
|
2021-12-29 19:38:23 +01:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Blockquote
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} blockquote {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
display: block;
|
2023-12-28 13:21:52 +07:00
|
|
|
|
margin: var(#{$css-var-prefix}typography-spacing-vertical) 0;
|
|
|
|
|
padding: var(#{$css-var-prefix}spacing);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
border-right: none;
|
2023-12-28 13:21:52 +07:00
|
|
|
|
border-left: 0.25rem solid var(#{$css-var-prefix}blockquote-border-color);
|
|
|
|
|
border-inline-start: 0.25rem solid var(#{$css-var-prefix}blockquote-border-color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
border-inline-end: none;
|
|
|
|
|
|
|
|
|
|
footer {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
margin-top: calc(var(#{$css-var-prefix}typography-spacing-vertical) * 0.5);
|
|
|
|
|
color: var(#{$css-var-prefix}blockquote-footer-color);
|
2021-12-29 19:38:23 +01:00
|
|
|
|
}
|
|
|
|
|
}
|
2019-11-27 15:31:49 +07:00
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Abbreviations
|
|
|
|
|
// 1. Remove underline decoration in Chrome, Edge, IE, Opera, and Safari
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} abbr[title] {
|
2022-10-23 10:47:50 +07:00
|
|
|
|
border-bottom: 1px dotted;
|
|
|
|
|
text-decoration: none; // 1
|
|
|
|
|
cursor: help;
|
2022-03-06 12:11:41 +07:00
|
|
|
|
}
|
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// Ins
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} ins {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
color: var(#{$css-var-prefix}ins-color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
text-decoration: none;
|
2019-11-27 15:31:49 +07:00
|
|
|
|
}
|
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// del
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} del {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
color: var(#{$css-var-prefix}del-color);
|
2019-11-27 15:31:49 +07:00
|
|
|
|
}
|
|
|
|
|
|
2022-10-23 10:47:50 +07:00
|
|
|
|
// selection
|
2024-01-25 01:42:54 +07:00
|
|
|
|
#{$parent-selector} ::selection {
|
2023-12-28 13:21:52 +07:00
|
|
|
|
background-color: var(#{$css-var-prefix}text-selection-color);
|
2022-10-23 10:47:50 +07:00
|
|
|
|
}
|
2022-10-15 23:22:12 +07:00
|
|
|
|
}
|