295 lines
4.6 KiB
SCSS
295 lines
4.6 KiB
SCSS
$text: #ddd;
|
|
$bg: #540362;
|
|
$link: #f778e3;
|
|
$lowerbg1: darken($bg, 5);
|
|
$lowerbg2: darken($bg, 10);
|
|
$higherbg1: lighten($bg, 10);
|
|
$lower1: darken($text, 18);
|
|
$lower2: darken($text, 30);
|
|
|
|
@import 'fonts';
|
|
|
|
@mixin reset-list {
|
|
li {
|
|
display: inline-block;
|
|
}
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
@mixin flex-center {
|
|
display: flex;
|
|
align-content: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
@mixin chonky-link-underline($elType: "a", $thickness: 2px) {
|
|
#{$elType} {
|
|
border-bottom: solid $thickness;
|
|
padding-bottom: 0px;
|
|
border-radius: 1px;
|
|
}
|
|
}
|
|
|
|
@mixin a-normal($class: "") {
|
|
a#{$class} {
|
|
color: $text;
|
|
text-decoration: none;
|
|
}
|
|
}
|
|
|
|
pre {
|
|
padding: 1em;
|
|
margin: .5em 0;
|
|
border-radius: .3em;
|
|
overflow: auto;
|
|
background-color: $lowerbg1;
|
|
|
|
code {
|
|
font-family: Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace;
|
|
}
|
|
}
|
|
|
|
html {
|
|
font-size: 18px;
|
|
}
|
|
|
|
body {
|
|
font-family: 'Source Sans 3', 'sans-serif';
|
|
background-color: $bg;
|
|
color: $text;
|
|
line-height: 1.35;
|
|
|
|
margin: {
|
|
left: 0.75rem;
|
|
right: 0.75rem;
|
|
}
|
|
}
|
|
|
|
a {
|
|
color: $link;
|
|
text-decoration: none;
|
|
}
|
|
|
|
// navigation between pages at the end of articles
|
|
nav.article-nav {
|
|
margin-top: 5rem;
|
|
margin-bottom: 2rem;
|
|
|
|
.disabled-link {
|
|
color: $lower2;
|
|
cursor: default;
|
|
}
|
|
|
|
.nav-label {
|
|
color: $lower1;
|
|
font-size: 1rem;
|
|
user-select: none;
|
|
}
|
|
|
|
.older {
|
|
text-align: right;
|
|
}
|
|
|
|
// force there to be some space between the nav directions
|
|
ul li {
|
|
max-width: 40vw;
|
|
}
|
|
|
|
ul {
|
|
@include reset-list();
|
|
@include chonky-link-underline($thickness: 1px);
|
|
@include chonky-link-underline($elType: ".disabled-link", $thickness: 1px);
|
|
@include a-normal();
|
|
display: flex;
|
|
justify-content: space-between;
|
|
font-size: 1.4rem;
|
|
font-weight: 400;
|
|
}
|
|
}
|
|
|
|
// navigation at the top of the page
|
|
nav.main-nav {
|
|
@include flex-center;
|
|
|
|
ul {
|
|
@include reset-list();
|
|
@include chonky-link-underline();
|
|
@include a-normal();
|
|
font-size: 1.4rem;
|
|
font-weight: 700;
|
|
|
|
li {
|
|
margin: {
|
|
left: -2px;
|
|
right: 2rem;
|
|
bottom: .25rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
margin: {
|
|
bottom: 2rem;
|
|
top: 2rem;
|
|
}
|
|
}
|
|
|
|
header.page-header {
|
|
margin: {
|
|
bottom: 1em;
|
|
}
|
|
}
|
|
|
|
main {
|
|
// the details below individual page titles on the home page
|
|
.detail span {
|
|
font-weight: 600;
|
|
font-size: 0.8rem;
|
|
color: $lower1;
|
|
}
|
|
|
|
.detail {
|
|
margin-top: 0.3rem;
|
|
}
|
|
|
|
display: block;
|
|
margin: 0 auto;
|
|
max-width: 860px;
|
|
|
|
.detail.page-detail span {
|
|
font-size: 1rem;
|
|
}
|
|
|
|
.detail span:first-child::after {
|
|
content: " - ";
|
|
}
|
|
}
|
|
|
|
article.homepage-article {
|
|
@include a-normal($class: ".homepage-link");
|
|
}
|
|
|
|
footer {
|
|
@include flex-center;
|
|
p {
|
|
margin: 0 1em;
|
|
}
|
|
}
|
|
|
|
// stuff on pages
|
|
|
|
:not(pre) > code {
|
|
// add background with rounded corners
|
|
background: $lowerbg1;
|
|
padding: 0.05rem;
|
|
border-radius: 0.3rem;
|
|
|
|
// wrap words instead of causing scrolling
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
code {
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
summary {
|
|
margin-left: 2em;
|
|
font-weight: 800;
|
|
font-size: 1.1em;
|
|
}
|
|
|
|
details {
|
|
margin-top: 2em;
|
|
margin-bottom: 2em;
|
|
}
|
|
|
|
img {
|
|
// make the alt text extremely obnoxious and harder to miss if the image
|
|
// is missing
|
|
font-size: 3rem;
|
|
color: #0f0;
|
|
|
|
// stop images from overflowing
|
|
width: 100%;
|
|
}
|
|
|
|
div.image {
|
|
display: flex;
|
|
align-content: center;
|
|
justify-content: center;
|
|
|
|
img {
|
|
border-radius: .3rem;
|
|
}
|
|
}
|
|
|
|
blockquote {
|
|
border-left: solid $higherbg1;
|
|
border-left-width: 0.5rem;
|
|
padding-left: 1rem;
|
|
margin-left: 1.5rem;
|
|
}
|
|
|
|
hr {
|
|
margin: {
|
|
top: 3rem;
|
|
bottom: 3rem;
|
|
}
|
|
}
|
|
|
|
// h1 at the top of blog post pages
|
|
:not(header) > h1 {
|
|
margin: {
|
|
top: 2.5rem;
|
|
}
|
|
}
|
|
|
|
h1 {
|
|
margin: {
|
|
bottom: -0.3rem;
|
|
}
|
|
}
|
|
|
|
h2, h3 {
|
|
margin: {
|
|
top: 1.5rem;
|
|
bottom: -0.5rem;
|
|
}
|
|
}
|
|
|
|
h2 {
|
|
font-size: 1.7em;
|
|
}
|
|
|
|
h3 {
|
|
font-size: 1.3em;
|
|
}
|
|
|
|
h4 {
|
|
font-size: 1.1em;
|
|
margin: {
|
|
top: 2rem;
|
|
bottom: -0.5rem;
|
|
}
|
|
}
|
|
|
|
:not(nav) > ul > li {
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
kbd {
|
|
display:inline-block;
|
|
border: 1px solid $lowerbg2;
|
|
background-color: $lowerbg1;
|
|
border-radius: 5px;
|
|
margin-right: 0.2rem;
|
|
padding: 2px;
|
|
box-shadow: 0px 2px 3px $lowerbg2;
|
|
}
|
|
|
|
/* headings */
|
|
|
|
h1 {
|
|
line-height: 1.10;
|
|
}
|
|
|