bcarlin.net/assets/static/css/bcarlin.css

390 lines
7.1 KiB
CSS
Raw Normal View History

2025-06-07 02:33:02 +02:00
@import url("/static/css/syntax-light.css") only screen and (prefers-color-scheme: light);
@import url('/static/css/syntax-dark.css') only screen and (prefers-color-scheme: dark);
@font-face {
font-family: 'Gentium Plus';
src: url('/static/fonts/GentiumPlus-Regular.woff2');
}
@font-face {
font-family: 'Gentium Plus';
font-style: italic;
src: url('/static/fonts/GentiumPlus-Italic.woff2');
}
@font-face {
font-family: 'Gentium Plus';
font-weight: bold;
src: url('/static/fonts/GentiumPlus-Bold.woff2');
}
@font-face {
font-family: 'Gentium Plus';
font-weight: bold;
font-style: italic;
src: url('/static/fonts/GentiumPlus-BoldItalic.woff2');
}
@font-face {
font-family: 'Nunito Sans';
font-style: italic;
font-weight: 200 1000;
font-stretch: 100%;
src: url('/static/fonts/NunitoSans-Italic.woff2') format('woff2');
}
@font-face {
font-family: 'Nunito Sans';
font-style: normal;
font-weight: 200 1000;
font-stretch: 100%;
src: url('/static/fonts/NunitoSans.woff2') format('woff2');
}
/*
* pico.css variables overrides
*/
:root {
--pico-font-family: 'Gentium Plus', serif, var(--pico-font-family-emoji);
--pico-font-family-sans-serif: 'Nunito Sans', sans-serif, var(--pico-font-family-emoji);
--pico-card-sectioning-background-color: transparent;
--pico-typography-spacing-vertical: calc(1.5 * var(--pico-spacing));
--markup-color: rgb(194 198 207 / 100%);
}
@media only screen and (prefers-color-scheme: light) {
:root:not([data-theme=dark]), [data-theme=light] {
--pico-background-color: rgb(247 249 252 / 100%);
--pico-card-background-color: rgb(255 255 255 / 100%);
--pico-card-sectioning-background-color: transparent;
}
.admonition.warning {
--admonition-background-color: rgb(255 240 219 / 100%);
--admonition-border-color: rgb(255 208 143 / 100%);
}
.admonition.note {
--admonition-background-color: rgb(219 238 255 / 100%);
--admonition-border-color: rgb(142 202 255 / 100%);
}
}
@media only screen and (prefers-color-scheme: dark) {
.admonition.warning {
--admonition-background-color: rgb(52 46 38 / 100%);
--admonition-border-color: rgb(255 208 143 / 100%);
}
.admonition.note {
--admonition-background-color: rgb(48 59 68 / 100%);
--admonition-border-color: rgb(142 202 255 / 100%);
}
}
article {
--pico-card-box-shadow: none;
}
header nav :where(a:not([role="button"])):is([aria-current]:not([aria-current="false"]),:hover,:active,:focus),
header nav [role="link"]:is([aria-current]:not([aria-current="false"]),:hover,:active,:focus) {
--pico-text-decoration: none;
}
.container {
max-width: 40em;
margin-left: auto;
margin-right: auto;
}
article :where(a:not([role="button"])) {
--pico-text-decoration: none;
}
2025-06-07 02:33:02 +02:00
/*
* Layout Styling
*/
.mobile-header {
padding: 0 var(--pico-block-spacing-horizontal);
position: sticky;
top: 0;
left: 0;
background-color: rgb(from var(--pico-background-color) r g b / 80%);
backdrop-filter: blur(3px);
font-family: var(--pico-font-family-sans-serif);
font-weight: bold;
}
.mobile-header img {
height: 2em;
}
#menu-close, #menu-close:hover, #menu-toggle {
color: inherit;
background-color: inherit;
border: none;
text-decoration: none;
}
body {
background-color: var(--pico-background-color);
}
body > header {
width: 100vw;
text-align: center;
height: 100vh;
position: fixed;
left: -100vw;
top: 0;
background-color: var(--pico-background-color);
z-index: 100;
transition: left 0.5s;
overflow: hidden auto;
}
body > header.active {
left: 0;
}
body > header nav, body > header nav ul {
flex-direction: column;
}
body > header .u-logo {
width: 5em;
}
body > header .title {
font-size: 1.5rem;
font-weight: bold;
font-family: var(--pico-font-family-sans-serif);
margin-top: 1em;
}
body > header nav {
font-size: 1rem;
font-family: var(--pico-font-family-sans-serif);
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
}
body > header nav li {
padding: 0;
padding: calc( var(--pico-nav-element-spacing-vertical) / 4)
calc( var(--pico-nav-element-spacing-horizontal) / 4);
}
body > header a {
color: var(--pico-color);
padding: 0;
}
body > header > a {
float: right;
padding: 0 1.5em;
}
.menu-primary {
font-weight: bold;
}
body > footer p {
font-size: 0.7em;
text-align: center;
}
@media (width >= 1024px) {
.mobile-header, #menu-close {
display: none;
}
body > header {
position: sticky;
top: 0;
left: 0;
width: 15em;
float: left;
}
.container {
margin-right: 0;
margin-left: 18em;
}
2025-06-20 02:33:45 +02:00
.metadata p {
display: inline;
}
2025-06-07 02:33:02 +02:00
}
/*
* Content Styling
*/
2025-06-20 02:33:45 +02:00
.translations {
text-align: end;
margin-bottom: 0.3em;
}
.translations a {
text-decoration: none;
}
2025-06-07 02:33:02 +02:00
main > article {
text-align: justify;
}
main > article > header {
margin-bottom: calc(2 * var(--pico-block-spacing-vertical));
}
ul.tags, ul.tags li {
list-style-type: none;
display: inline;
padding-left: 0;
margin-bottom: 0;
}
ul > li {
list-style-type: disc;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--pico-font-family-sans-serif);
text-align: left;
}
h1 {
font-size: 1.7rem;
}
h2 {
font-size: 1.3rem;
}
h2::before {
content: "## ";
color: var(--markup-color);
}
h3 {
font-size: 1.2rem;
}
h3::before {
content: "### ";
color: var(--markup-color);
}
h4 {
font-size: 1.1rem;
}
h4::before {
content: "#### ";
color: var(--markup-color);
}
h5 {
font-size: 1rem;
}
h5::before {
content: "##### ";
color: var(--markup-color);
}
h6 {
font-size: 1rem;
}
h6::before {
content: "###### ";
color: var(--markup-color);
}
article header h1, article header p {
margin-bottom: calc(0.1 * var(--pico-typography-spacing-vertical));
2025-06-20 02:33:45 +02:00
margin-top: 0.3em;
2025-06-07 02:33:02 +02:00
}
2025-06-20 02:33:45 +02:00
article header .category a {
font-family: var(--pico-font-family-sans-serif);
font-weight: 700;
line-height: var(--pico-line-height);
color: var(--pico-muted-color);
text-decoration: none;
font-size: 1rem;
margin-bottom: 0.5em;
}
h2 a, h3 a, h4 a, h5 a, h6 a {
2025-06-07 02:33:02 +02:00
color: var(--pico-muted-color);
text-decoration: none;
margin-left: 0.4rem;
font-size: 1rem;
}
pre {
margin-bottom: calc(1.5 * var(--pico-spacing));
}
code, kbd, pre {
2025-06-07 02:33:02 +02:00
font-size: 0.8em;
}
a[rel="external"]::after {
content: "\ecae";
font-size: 0.7em;
margin-left: 0.2em;
font-family: 'remixicon' !important;
font-style: normal;
color: var(--pico-muted-color);
text-decoration: none;
}
figure {
max-width: 50%;
text-align: center;
margin: var(--pico-block-spacing-vertical) auto;
}
2025-06-07 02:33:02 +02:00
/*
* Admonitions
*/
.admonition {
font-size: 0.9em;
padding: 1em;
border-left: solid 4px var(--admonition-border-color);
background-color: var(--admonition-background-color);
margin-bottom: var(--pico-typography-spacing-vertical);
border-radius: var(--pico-border-radius);
}
/*
* Post lists
*/
.h-feed article:not(:last-child) {
border-bottom: var(--pico-border-width) solid var(--pico-card-border-color);
2025-06-17 01:35:34 +02:00
margin-bottom: 0;
}
.h-feed article p {
margin-bottom: calc(0.2 * var(--pico-typography-spacing-vertical));
}
.h-feed article .p-summary {
font-size: 0.9em;
font-style: italic;
2025-06-07 02:33:02 +02:00
}