| | |
| | | @use "sass:map"; |
| | | |
| | | @use "./variables.scss" as *; |
| | | @use "./syntax.scss"; |
| | | @use "./callouts.scss"; |
| | |
| | | width: 100vw; |
| | | } |
| | | |
| | | body, |
| | | section { |
| | | body { |
| | | margin: 0; |
| | | box-sizing: border-box; |
| | | background-color: var(--light); |
| | |
| | | ol, |
| | | ul, |
| | | .katex, |
| | | .math { |
| | | .math, |
| | | .typst-doc, |
| | | g[class~="typst-text"] { |
| | | color: var(--darkgray); |
| | | fill: var(--darkgray); |
| | | hyphens: auto; |
| | | overflow-wrap: break-word; |
| | | text-wrap: pretty; |
| | | } |
| | | |
| | | p, |
| | | ul, |
| | | text, |
| | | a, |
| | | li, |
| | | ol, |
| | | ul, |
| | | .katex, |
| | | .math { |
| | | overflow-wrap: anywhere; |
| | | /* tr and td removed from list of selectors for overflow-wrap, allowing them to use default 'normal' property value */ |
| | | path[class~="typst-shape"] { |
| | | stroke: var(--darkgray); |
| | | } |
| | | |
| | | .math { |
| | |
| | | } |
| | | } |
| | | |
| | | article { |
| | | > mjx-container.MathJax, |
| | | blockquote > div > mjx-container.MathJax { |
| | | display: flex; |
| | | > svg { |
| | | margin-left: auto; |
| | | margin-right: auto; |
| | | } |
| | | } |
| | | blockquote > div > mjx-container.MathJax > svg { |
| | | margin-top: 1rem; |
| | | margin-bottom: 1rem; |
| | | } |
| | | } |
| | | |
| | | strong { |
| | | font-weight: $semiBoldWeight; |
| | | } |
| | |
| | | color: var(--secondary); |
| | | |
| | | &:hover { |
| | | color: var(--tertiary) !important; |
| | | color: var(--tertiary); |
| | | } |
| | | |
| | | &.internal { |
| | |
| | | border-radius: 5px; |
| | | line-height: 1.4rem; |
| | | |
| | | &.broken { |
| | | color: var(--secondary); |
| | | opacity: 0.5; |
| | | transition: opacity 0.2s ease; |
| | | &:hover { |
| | | opacity: 0.8; |
| | | } |
| | | } |
| | | |
| | | &:has(> img) { |
| | | background-color: transparent; |
| | | border-radius: 0; |
| | |
| | | } |
| | | } |
| | | |
| | | .flex-component { |
| | | display: flex; |
| | | } |
| | | |
| | | .desktop-only { |
| | | display: initial; |
| | | &.flex-component { |
| | | display: flex; |
| | | } |
| | | @media all and ($mobile) { |
| | | &.flex-component { |
| | | display: none; |
| | | } |
| | | display: none; |
| | | } |
| | | } |
| | | |
| | | .mobile-only { |
| | | display: none; |
| | | &.flex-component { |
| | | display: none; |
| | | } |
| | | @media all and ($mobile) { |
| | | &.flex-component { |
| | | display: flex; |
| | | } |
| | | display: initial; |
| | | } |
| | | } |
| | | |
| | | .page { |
| | | max-width: calc(#{map-get($breakpoints, desktop)} + 300px); |
| | | max-width: calc(#{map.get($breakpoints, desktop)} + 300px); |
| | | margin: 0 auto; |
| | | & article { |
| | | & > h1 { |
| | |
| | | |
| | | & > #quartz-body { |
| | | display: grid; |
| | | grid-template-columns: #{map-get($desktopGrid, templateColumns)}; |
| | | grid-template-rows: #{map-get($desktopGrid, templateRows)}; |
| | | column-gap: #{map-get($desktopGrid, columnGap)}; |
| | | row-gap: #{map-get($desktopGrid, rowGap)}; |
| | | grid-template-areas: #{map-get($desktopGrid, templateAreas)}; |
| | | grid-template-columns: #{map.get($desktopGrid, templateColumns)}; |
| | | grid-template-rows: #{map.get($desktopGrid, templateRows)}; |
| | | column-gap: #{map.get($desktopGrid, columnGap)}; |
| | | row-gap: #{map.get($desktopGrid, rowGap)}; |
| | | grid-template-areas: #{map.get($desktopGrid, templateAreas)}; |
| | | |
| | | @media all and ($tablet) { |
| | | grid-template-columns: #{map-get($tabletGrid, templateColumns)}; |
| | | grid-template-rows: #{map-get($tabletGrid, templateRows)}; |
| | | column-gap: #{map-get($tabletGrid, columnGap)}; |
| | | row-gap: #{map-get($tabletGrid, rowGap)}; |
| | | grid-template-areas: #{map-get($tabletGrid, templateAreas)}; |
| | | grid-template-columns: #{map.get($tabletGrid, templateColumns)}; |
| | | grid-template-rows: #{map.get($tabletGrid, templateRows)}; |
| | | column-gap: #{map.get($tabletGrid, columnGap)}; |
| | | row-gap: #{map.get($tabletGrid, rowGap)}; |
| | | grid-template-areas: #{map.get($tabletGrid, templateAreas)}; |
| | | } |
| | | @media all and ($mobile) { |
| | | grid-template-columns: #{map-get($mobileGrid, templateColumns)}; |
| | | grid-template-rows: #{map-get($mobileGrid, templateRows)}; |
| | | column-gap: #{map-get($mobileGrid, columnGap)}; |
| | | row-gap: #{map-get($mobileGrid, rowGap)}; |
| | | grid-template-areas: #{map-get($mobileGrid, templateAreas)}; |
| | | grid-template-columns: #{map.get($mobileGrid, templateColumns)}; |
| | | grid-template-rows: #{map.get($mobileGrid, templateRows)}; |
| | | column-gap: #{map.get($mobileGrid, columnGap)}; |
| | | row-gap: #{map.get($mobileGrid, rowGap)}; |
| | | grid-template-areas: #{map.get($mobileGrid, templateAreas)}; |
| | | } |
| | | |
| | | @media all and not ($desktop) { |
| | |
| | | } |
| | | |
| | | & .sidebar { |
| | | gap: 2rem; |
| | | gap: 1.2rem; |
| | | top: 0; |
| | | box-sizing: border-box; |
| | | padding: $topSpacing 2rem 2rem 2rem; |
| | |
| | | padding: 0; |
| | | & > * { |
| | | flex: 1; |
| | | max-height: 24rem; |
| | | } |
| | | & > .toc { |
| | | display: none; |
| | |
| | | &[id]:hover > a { |
| | | opacity: 1; |
| | | } |
| | | |
| | | &:not([id]) > a[role="anchor"] { |
| | | display: none; |
| | | } |
| | | } |
| | | |
| | | // typography improvements |
| | |
| | | max-width: 100%; |
| | | border-radius: 5px; |
| | | margin: 1rem 0; |
| | | content-visibility: auto; |
| | | } |
| | | |
| | | p > img + em { |
| | |
| | | } |
| | | |
| | | .spacer { |
| | | flex: 1 1 auto; |
| | | flex: 2 1 auto; |
| | | } |
| | | |
| | | div:has(> .overflow) { |
| | | display: flex; |
| | | overflow-y: auto; |
| | | max-height: 100%; |
| | | overflow-y: hidden; |
| | | } |
| | | |
| | | ul.overflow, |
| | | ol.overflow { |
| | | max-height: 100%; |
| | | overflow-y: auto; |
| | | width: 100%; |
| | | margin-bottom: 0; |
| | | |
| | | // clearfix |
| | | content: ""; |
| | | clear: both; |
| | | |
| | | & > li:last-of-type { |
| | | margin-bottom: 30px; |
| | | & > li.overflow-end { |
| | | height: 0.5rem; |
| | | margin: 0; |
| | | } |
| | | /*&:after { |
| | | pointer-events: none; |
| | | content: ""; |
| | | width: 100%; |
| | | height: 50px; |
| | | position: absolute; |
| | | left: 0; |
| | | bottom: 0; |
| | | opacity: 1; |
| | | transition: opacity 0.3s ease; |
| | | background: linear-gradient(transparent 0px, var(--light)); |
| | | }*/ |
| | | |
| | | &.gradient-active { |
| | | mask-image: linear-gradient(to bottom, black calc(100% - 50px), transparent 100%); |
| | | } |
| | | } |
| | | |
| | | .transclude { |
| | |
| | | } |
| | | |
| | | .katex-display { |
| | | display: initial; |
| | | overflow-x: auto; |
| | | overflow-y: hidden; |
| | | } |