2024-02-07 15:33:46 +01:00
|
|
|
/*** Variables ***/
|
|
|
|
|
|
|
|
:root {
|
2024-12-10 23:21:36 +01:00
|
|
|
--tree-indent-width: 3.2rem;
|
2024-02-07 15:33:46 +01:00
|
|
|
--transition-duration: 0.15s;
|
2024-12-10 23:21:36 +01:00
|
|
|
--button-bar-icon-size: 2.8rem;
|
2024-02-07 15:33:46 +01:00
|
|
|
}
|
|
|
|
|
2023-08-28 21:14:51 +02:00
|
|
|
/*** Breadcrumbs ***/
|
|
|
|
|
|
|
|
.breadcrumbs {
|
|
|
|
list-style-type: none;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: row;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
|
|
|
height: min-content;
|
|
|
|
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
opacity: 70%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.breadcrumb::before {
|
2024-10-29 18:14:01 +01:00
|
|
|
content: "";
|
2023-08-28 21:14:51 +02:00
|
|
|
display: inline-block;
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
background-image: var(--icon-breadcrumb);
|
2023-08-28 21:14:51 +02:00
|
|
|
background-repeat: no-repeat;
|
|
|
|
background-position: 50% 50%;
|
|
|
|
opacity: 70%;
|
|
|
|
|
2024-12-10 23:21:36 +01:00
|
|
|
width: 3.6rem;
|
|
|
|
height: 1.7rem;
|
2023-08-28 21:14:51 +02:00
|
|
|
|
|
|
|
vertical-align: text-bottom;
|
|
|
|
}
|
|
|
|
|
|
|
|
.breadcrumb a {
|
2024-10-29 18:14:01 +01:00
|
|
|
--recursive-mono: 1;
|
2023-08-28 21:14:51 +02:00
|
|
|
--recursive-wght: 500;
|
2024-10-29 18:14:01 +01:00
|
|
|
--recursive-casl: 0;
|
2023-08-28 21:14:51 +02:00
|
|
|
|
|
|
|
color: var(--text-color);
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.breadcrumb a:hover {
|
|
|
|
text-decoration: underline;
|
|
|
|
}
|
|
|
|
|
2024-10-29 18:14:01 +01:00
|
|
|
.breadcrumbs > .root-breadcrumb {
|
|
|
|
display: none; /* only when main logo is hidden */
|
2024-12-10 23:21:36 +01:00
|
|
|
margin-right: -0.8rem;
|
2024-10-29 18:14:01 +01:00
|
|
|
|
|
|
|
& a,
|
|
|
|
& svg {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
|
|
|
|
& .logo {
|
2024-12-10 23:21:36 +01:00
|
|
|
/* NOTE: px used for pixel perfection */
|
2024-10-29 18:14:01 +01:00
|
|
|
width: 48px;
|
|
|
|
height: 48px;
|
2024-12-10 23:21:36 +01:00
|
|
|
padding: 0.8rem;
|
2024-10-29 18:14:01 +01:00
|
|
|
color: var(--text-color);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@media (max-width: 450px) {
|
|
|
|
.breadcrumbs > .root-breadcrumb {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-08-28 21:14:51 +02:00
|
|
|
/*** Tree ***/
|
|
|
|
|
2024-02-07 15:33:46 +01:00
|
|
|
.tree {
|
|
|
|
--tree-indent-guide-dim: transparent;
|
|
|
|
--tree-indent-guide-highlighted: transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
.tree:has(.branch-container:hover) {
|
|
|
|
--tree-indent-guide-dim: transparent;
|
|
|
|
--tree-indent-guide-highlighted: var(--border-1);
|
|
|
|
}
|
|
|
|
|
2024-02-22 20:42:49 +01:00
|
|
|
@media (hover: none) {
|
|
|
|
.tree {
|
|
|
|
--tree-indent-guide-dim: var(--border-1);
|
|
|
|
--tree-indent-guide-highlighted: var(--border-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-02-07 15:33:46 +01:00
|
|
|
/* Use an indent level appropriate for the viewport. */
|
2023-08-18 19:25:38 +02:00
|
|
|
.tree ul {
|
2024-10-29 18:14:01 +01:00
|
|
|
--tree-responsive-indent-width: clamp(
|
2024-12-10 23:21:36 +01:00
|
|
|
0.8rem,
|
2024-10-29 18:14:01 +01:00
|
|
|
2vw,
|
|
|
|
var(--tree-indent-width)
|
|
|
|
);
|
2024-02-07 15:33:46 +01:00
|
|
|
|
|
|
|
/* Draw indent guides. */
|
|
|
|
padding-left: calc(var(--tree-responsive-indent-width) / 2);
|
|
|
|
margin-left: calc(var(--tree-responsive-indent-width) / 2);
|
2024-12-10 23:21:36 +01:00
|
|
|
border-left: 0.1rem solid var(--tree-indent-guide-dim);
|
2024-02-07 15:33:46 +01:00
|
|
|
|
|
|
|
transition: border-left-color var(--transition-duration);
|
2023-08-20 15:54:06 +02:00
|
|
|
}
|
|
|
|
|
2024-10-29 18:14:01 +01:00
|
|
|
.tree details:has(.branch-container:hover) > ul {
|
2024-02-07 15:33:46 +01:00
|
|
|
border-left-color: var(--tree-indent-guide-highlighted);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Top level should not have an indent or a border. */
|
2024-10-29 18:14:01 +01:00
|
|
|
.tree > ul {
|
2023-08-20 15:54:06 +02:00
|
|
|
padding-left: 0;
|
2024-02-07 15:33:46 +01:00
|
|
|
border-left: none;
|
2023-08-18 19:25:38 +02:00
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
.tree details {
|
|
|
|
/* Disable the rightwards chevron in <details> elements */
|
2024-10-29 18:14:01 +01:00
|
|
|
& > summary {
|
2024-02-06 21:37:26 +01:00
|
|
|
list-style: none;
|
|
|
|
cursor: pointer;
|
2023-08-18 19:25:38 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
&::-webkit-details-marker {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
2023-08-27 19:40:47 +02:00
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Child branches */
|
2023-08-18 19:25:38 +02:00
|
|
|
.tree li {
|
2024-02-06 21:37:26 +01:00
|
|
|
/* <li> elements should not have any bullet points or whatever */
|
2023-08-18 19:25:38 +02:00
|
|
|
list-style: none;
|
2023-08-20 13:46:54 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Stretch branch content to the full width of the page */
|
2024-10-29 18:14:01 +01:00
|
|
|
& > div,
|
|
|
|
& > details {
|
2024-02-06 21:37:26 +01:00
|
|
|
width: 100%;
|
|
|
|
}
|
2023-08-20 13:46:54 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Add an underline for leaf branches */
|
2024-10-29 18:14:01 +01:00
|
|
|
& > div {
|
2024-02-06 21:37:26 +01:00
|
|
|
box-sizing: border-box;
|
2023-08-20 13:46:54 +02:00
|
|
|
|
2024-12-10 23:21:36 +01:00
|
|
|
margin-bottom: -0.1rem;
|
|
|
|
border-bottom: 0.1rem solid transparent;
|
2024-02-07 15:33:46 +01:00
|
|
|
transition: border-bottom-color var(--transition-duration);
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
&:hover {
|
2024-02-07 15:33:46 +01:00
|
|
|
border-bottom-color: var(--border-1);
|
2024-02-06 21:37:26 +01:00
|
|
|
}
|
|
|
|
}
|
2023-08-20 13:46:54 +02:00
|
|
|
|
2024-10-29 18:14:01 +01:00
|
|
|
& > div,
|
|
|
|
& > details > summary {
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Child elements are laid out horizontally in a flexbox. */
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
}
|
2023-08-18 19:25:38 +02:00
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* <summary> is used for the visual content of branches with children. It's the large horizontal bar
|
|
|
|
and notably *excludes* children. */
|
2024-10-29 18:14:01 +01:00
|
|
|
.tree details > summary {
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Slightly round for elegance */
|
2024-12-10 23:21:36 +01:00
|
|
|
border-radius: 0.8rem;
|
2023-08-18 20:58:07 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Give it a shaded background on hover */
|
2023-08-27 17:01:27 +02:00
|
|
|
background-color: transparent;
|
2024-02-07 15:33:46 +01:00
|
|
|
transition: background-color var(--transition-duration);
|
2024-02-06 21:37:26 +01:00
|
|
|
|
|
|
|
&:hover {
|
|
|
|
background-color: var(--shaded-background);
|
|
|
|
}
|
2023-08-18 20:58:07 +02:00
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* For media without hover functionality, draw a bottom border everywhere as a visual anchor for where to tap */
|
|
|
|
@media (hover: none) {
|
2024-10-29 18:14:01 +01:00
|
|
|
.tree li > div:first-child,
|
|
|
|
.tree li > details > summary:first-child {
|
2024-12-10 23:21:36 +01:00
|
|
|
border-bottom: 0.1rem solid var(--border-1);
|
2024-02-06 21:37:26 +01:00
|
|
|
}
|
|
|
|
|
2024-10-29 18:14:01 +01:00
|
|
|
.tree details > summary {
|
2024-02-06 21:37:26 +01:00
|
|
|
/* In that case summaries shall not be rounded. */
|
2024-06-13 21:50:09 +02:00
|
|
|
border-radius: 0;
|
2024-02-06 21:37:26 +01:00
|
|
|
}
|
2023-08-18 19:25:38 +02:00
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* The following three elements - bp, bc, and bb - are there in all branches, regardless of their parent. */
|
|
|
|
|
|
|
|
/* bp - bullet point */
|
|
|
|
th-bp {
|
|
|
|
display: block;
|
2024-02-07 15:33:46 +01:00
|
|
|
width: var(--tree-indent-width);
|
2024-12-10 23:21:36 +01:00
|
|
|
height: 2.8rem;
|
2024-02-06 21:37:26 +01:00
|
|
|
|
2024-01-18 22:46:57 +01:00
|
|
|
background-image: var(--icon-leaf);
|
2023-08-18 19:25:38 +02:00
|
|
|
background-repeat: no-repeat;
|
2024-02-06 21:37:26 +01:00
|
|
|
background-position: 50% 50%;
|
|
|
|
|
|
|
|
/* Prevent shrinkage when viewport is too low */
|
|
|
|
flex-shrink: 0;
|
2023-08-18 19:25:38 +02:00
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Change image of th-bp if it has children and/or is collapsible */
|
2024-10-29 18:14:01 +01:00
|
|
|
.tree details[open] > summary > th-bp {
|
2024-01-18 22:46:57 +01:00
|
|
|
background-image: var(--icon-collapse);
|
2023-08-18 19:25:38 +02:00
|
|
|
}
|
2023-08-20 13:46:54 +02:00
|
|
|
|
2024-10-29 18:14:01 +01:00
|
|
|
.tree details:not([open]) > summary > th-bp {
|
2024-02-06 21:37:26 +01:00
|
|
|
background-image: var(--icon-expand);
|
|
|
|
}
|
2023-08-28 19:18:02 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* bc - branch content */
|
|
|
|
th-bc {
|
|
|
|
display: block;
|
2024-12-10 23:21:36 +01:00
|
|
|
padding-top: 0.6rem;
|
|
|
|
padding-bottom: 0.6rem;
|
2023-08-28 21:33:43 +02:00
|
|
|
|
2024-10-29 18:14:01 +01:00
|
|
|
/* Lines that are too long get very hard to read. */
|
|
|
|
width: 100%;
|
|
|
|
max-width: 72em;
|
2024-02-08 13:49:22 +01:00
|
|
|
|
|
|
|
/* Bit of a hack to make <pre>s in <th-bc> have scrollbars proper. */
|
2024-02-18 23:37:31 +01:00
|
|
|
&:has(pre, th-literate-program) {
|
|
|
|
overflow: hidden;
|
2024-02-08 13:49:22 +01:00
|
|
|
}
|
2023-08-28 21:33:43 +02:00
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Display a chevron hinting that the collapsed branch has more content in its children. */
|
2024-06-13 18:04:44 +02:00
|
|
|
.tree details:not([open])>summary>th-bc>:last-child,
|
|
|
|
/* NOTE: Linked branches have a slightly different structure (extra <noscript> tag) and therefore
|
|
|
|
:last-child does not work. */
|
|
|
|
.tree li[data-th-link]>details:not([open])>summary>th-bc>:nth-last-child(2) {
|
2024-02-06 21:37:26 +01:00
|
|
|
&::after {
|
2024-10-29 18:14:01 +01:00
|
|
|
content: "\00A0";
|
2024-02-06 21:37:26 +01:00
|
|
|
display: inline-block;
|
2023-08-20 15:54:06 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
background-image: var(--icon-more);
|
|
|
|
background-repeat: no-repeat;
|
|
|
|
background-position: 50% 50%;
|
2023-08-20 15:54:06 +02:00
|
|
|
|
2024-12-10 23:21:36 +01:00
|
|
|
width: 1.6rem;
|
2024-02-06 21:37:26 +01:00
|
|
|
height: 1.2em;
|
|
|
|
|
|
|
|
vertical-align: text-bottom;
|
|
|
|
margin-left: 0.5em;
|
|
|
|
|
2024-06-13 21:50:09 +02:00
|
|
|
margin-right: -2.25rem;
|
2023-08-20 15:54:06 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-02-20 22:36:47 +01:00
|
|
|
/* Display a [draft] pill for branches that are drafts. */
|
|
|
|
.tree li.draft {
|
2024-10-29 18:14:01 +01:00
|
|
|
& > details > summary > th-bc::before,
|
|
|
|
& > div > th-bc::before {
|
|
|
|
content: "draft";
|
2024-02-20 22:36:47 +01:00
|
|
|
|
|
|
|
display: block;
|
|
|
|
width: min-content;
|
|
|
|
|
|
|
|
background-color: #058ef0;
|
|
|
|
color: #ffffff;
|
2024-12-10 23:21:36 +01:00
|
|
|
padding: 0.4rem 1.2rem;
|
|
|
|
margin-bottom: 0.4rem;
|
|
|
|
border-radius: 100rem;
|
2024-02-20 22:36:47 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* bb - button bar */
|
|
|
|
th-bb {
|
|
|
|
height: 100%;
|
2024-12-10 23:21:36 +01:00
|
|
|
margin: 0.4rem;
|
2023-08-20 13:46:54 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Should be displayed on the top of the branch rather than in the middle. */
|
|
|
|
align-self: start;
|
2024-10-29 18:14:01 +01:00
|
|
|
flex-grow: 1;
|
2023-08-20 13:46:54 +02:00
|
|
|
|
|
|
|
display: flex;
|
|
|
|
flex-direction: row;
|
2024-02-07 13:09:44 +01:00
|
|
|
align-items: center;
|
2024-10-29 18:14:01 +01:00
|
|
|
justify-content: end;
|
2023-08-20 13:46:54 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Keep the button bar invisible by default. */
|
2023-08-20 13:46:54 +02:00
|
|
|
opacity: 0%;
|
2024-02-07 15:33:46 +01:00
|
|
|
transition: opacity var(--transition-duration);
|
2023-08-20 13:46:54 +02:00
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* When the parent is hovered over, display the button bar. */
|
2024-10-29 18:14:01 +01:00
|
|
|
.tree *:hover > th-bb {
|
2023-08-20 13:46:54 +02:00
|
|
|
opacity: 100%;
|
|
|
|
}
|
|
|
|
|
2024-02-07 13:09:44 +01:00
|
|
|
/* For media without hover functionality, th-bb should always be visible. */
|
2023-08-20 15:54:06 +02:00
|
|
|
@media (hover: none) {
|
2024-03-07 21:21:02 +01:00
|
|
|
:root {
|
2024-12-10 23:21:36 +01:00
|
|
|
--button-bar-icon-size: 3.6rem;
|
2024-03-07 21:21:02 +01:00
|
|
|
}
|
|
|
|
|
2023-08-20 15:54:06 +02:00
|
|
|
.tree th-bb {
|
|
|
|
opacity: 100%;
|
2024-02-22 20:42:49 +01:00
|
|
|
|
|
|
|
/* Replace margin with button size to make it easier to click. */
|
2024-12-10 23:21:36 +01:00
|
|
|
margin: 0;
|
2024-02-22 20:42:49 +01:00
|
|
|
|
|
|
|
& a.icon {
|
2024-12-10 23:21:36 +01:00
|
|
|
width: 3.6rem;
|
|
|
|
height: 3.6rem;
|
2024-02-22 20:42:49 +01:00
|
|
|
}
|
2023-08-20 15:54:06 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-02-07 13:09:44 +01:00
|
|
|
/* Style branch dates to be smaller and less noticable. */
|
|
|
|
th-bb .branch-date {
|
|
|
|
opacity: 50%;
|
|
|
|
font-size: 0.8em;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Hide branch dates on very small displays. No clue how to fix this just yet. */
|
|
|
|
@media (max-width: 600px) {
|
|
|
|
th-bb .branch-date {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
/* Icons (used in the button bar) */
|
|
|
|
.tree {
|
|
|
|
& .icon {
|
|
|
|
background-repeat: no-repeat;
|
|
|
|
background-position: 50% 50%;
|
|
|
|
opacity: 35%;
|
2023-08-20 15:05:59 +02:00
|
|
|
|
2024-03-07 21:21:02 +01:00
|
|
|
width: var(--button-bar-icon-size);
|
|
|
|
height: var(--button-bar-icon-size);
|
2024-02-06 21:37:26 +01:00
|
|
|
}
|
2023-08-20 15:54:06 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
& .icon-permalink {
|
|
|
|
background-image: var(--icon-permalink);
|
|
|
|
}
|
2023-08-20 15:05:59 +02:00
|
|
|
|
2024-02-06 21:37:26 +01:00
|
|
|
& .icon-go {
|
|
|
|
background-image: var(--icon-go);
|
|
|
|
}
|
2023-08-20 15:05:59 +02:00
|
|
|
}
|
|
|
|
|
2024-02-07 13:09:44 +01:00
|
|
|
/* Style the loading text to not be too attention grabbing. */
|
2023-08-20 15:05:59 +02:00
|
|
|
.tree .link-loading {
|
2024-06-13 21:50:09 +02:00
|
|
|
padding-left: 1.75em;
|
2023-08-20 15:05:59 +02:00
|
|
|
opacity: 50%;
|
|
|
|
}
|
2023-08-21 21:12:06 +02:00
|
|
|
|
2024-02-07 13:09:44 +01:00
|
|
|
/* Highlight branch selected by # or ? in URL.
|
|
|
|
The latter is not supported by CSS so we use some auxiliary JavaScript to add a .target class
|
|
|
|
to the element highlighted by ?. */
|
2024-01-18 22:46:57 +01:00
|
|
|
.tree :target,
|
|
|
|
.tree .target {
|
2024-10-29 18:14:01 +01:00
|
|
|
& > details > summary,
|
|
|
|
& > div {
|
2024-02-07 15:33:46 +01:00
|
|
|
background-color: var(--shaded-background);
|
2024-10-29 18:14:01 +01:00
|
|
|
background: linear-gradient(
|
|
|
|
to right,
|
|
|
|
transparent 12.5%,
|
|
|
|
var(--shaded-background),
|
|
|
|
transparent,
|
|
|
|
var(--shaded-background),
|
|
|
|
transparent,
|
|
|
|
var(--shaded-background) 87.5%
|
|
|
|
);
|
2024-02-07 15:33:46 +01:00
|
|
|
background-size: 800% 100%;
|
|
|
|
background-position-x: 100%;
|
|
|
|
animation: hey-listen 2s linear;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes hey-listen {
|
|
|
|
0% {
|
|
|
|
background-position-x: 0%;
|
|
|
|
}
|
|
|
|
|
|
|
|
100% {
|
|
|
|
background-position-x: 100%;
|
2023-08-28 19:18:02 +02:00
|
|
|
}
|
2024-02-07 13:15:29 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/* <noscript> navigation links */
|
|
|
|
.tree .navigate {
|
2024-06-13 21:50:09 +02:00
|
|
|
padding-left: 1.75em;
|
2024-02-07 13:15:29 +01:00
|
|
|
background-repeat: no-repeat;
|
|
|
|
background-position: 0% 50%;
|
|
|
|
opacity: 80%;
|
2024-02-12 19:56:06 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/* branch-quote class for "air quote branches"; used to separate a subtree from a parent tree
|
|
|
|
stylistically such that it's interpretable as a form of block quote. */
|
|
|
|
ul.branch-quote {
|
2024-12-10 23:21:36 +01:00
|
|
|
--vertical-margin: 0.8rem;
|
|
|
|
--padding: 0.8rem;
|
2024-02-14 23:31:39 +01:00
|
|
|
|
|
|
|
margin-top: var(--vertical-margin);
|
|
|
|
margin-bottom: var(--vertical-margin);
|
|
|
|
padding-top: var(--padding);
|
|
|
|
padding-bottom: var(--padding);
|
|
|
|
padding-right: var(--padding);
|
2024-12-10 23:21:36 +01:00
|
|
|
border: 0.1rem solid var(--border-1);
|
|
|
|
border-radius: 0.8rem;
|
2024-02-14 23:31:39 +01:00
|
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
&::before {
|
|
|
|
--recursive-wght: 900;
|
|
|
|
--recursive-casl: 0;
|
|
|
|
|
2024-10-29 18:14:01 +01:00
|
|
|
content: "“";
|
2024-02-14 23:31:39 +01:00
|
|
|
position: absolute;
|
2024-12-10 23:21:36 +01:00
|
|
|
right: 1.6rem;
|
|
|
|
top: 0.1rem;
|
|
|
|
font-size: 4.8rem;
|
2024-02-14 23:31:39 +01:00
|
|
|
opacity: 50%;
|
|
|
|
|
|
|
|
transition: opacity var(--transition-duration);
|
|
|
|
}
|
|
|
|
|
|
|
|
&:hover::before {
|
|
|
|
opacity: 0%;
|
|
|
|
}
|
2024-02-12 19:56:06 +01:00
|
|
|
}
|