65a3e92d28
- Most blog posts are now written and stored as markdown - Markdown parsing and dynamic rendering for blog posts has been moved to a single file - Title for blog posts is now pulled from atom feed, just like dates - Changed code block styling and slightly altered content of some posts for compatibility with markdown parsing - Removed some old blog posts I'm no longer proud of - Added link to deeptwisty.com to navbar on /
389 lines
No EOL
8.1 KiB
CSS
389 lines
No EOL
8.1 KiB
CSS
@font-face {
|
|
font-family: b612_mono;
|
|
src: url(stuff/fonts/B612_Mono/B612Mono-Regular.ttf);
|
|
}
|
|
@font-face {
|
|
font-family: b612_mono;
|
|
src: url(stuff/fonts/B612_Mono/B612Mono-Bold.ttf);
|
|
font-weight: bold;
|
|
}
|
|
@font-face {
|
|
font-family: b612_mono;
|
|
src: url(stuff/fonts/B612_Mono/B612Mono-Italic.ttf);
|
|
font-style: italic;
|
|
}
|
|
@font-face {
|
|
font-family: b612_mono;
|
|
src: url(stuff/fonts/B612_Mono/B612Mono-BoldItalic.ttf);
|
|
font-weight: bold;
|
|
font-style: italic;
|
|
}
|
|
|
|
|
|
:root {
|
|
--stdfont: b612_mono, mono, monospace;
|
|
--bgcolor: #222222;
|
|
--fontcolor: #dcdcdc;
|
|
--linkcolor: #df1955;
|
|
--linkhover: #00ffd5;
|
|
--blockbg: #fff1;
|
|
--blockbghover: #fff2;
|
|
--stdshadow: #000;
|
|
/* ALL colors should be defined here.
|
|
If there's a color value somewhere else, move it here so it can be responsive */
|
|
|
|
--stdaccentborder: 3px solid var(--fontcolor);
|
|
--bodywidth: min(90vw, 80ch);
|
|
--stddropshadow: 4px 4px 8px black;
|
|
--stdpadding: 1rem;
|
|
--navbarheight: calc(var(--stdpadding) * 2.5);
|
|
}
|
|
html, body {
|
|
height: 100%;
|
|
}
|
|
|
|
body {
|
|
color: var(--fontcolor);
|
|
font-family: var(--stdfont);
|
|
text-shadow: 1px 1px 3px var(--stdshadow);
|
|
|
|
max-width: var(--bodywidth);
|
|
margin: auto;
|
|
background-color: var(--bgcolor);
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* Headings */
|
|
h1 {
|
|
margin-top: calc(var(--navbarheight) + var(--stdpadding));
|
|
font-size: 3em;
|
|
background-image: url('images/isopod.php');
|
|
background-size: contain;
|
|
background-position: right;
|
|
background-repeat: no-repeat;
|
|
padding-bottom: calc(var(--stdpadding) * 2);
|
|
margin-bottom: calc(var(--stdpadding) * -2);
|
|
}
|
|
h1 + h2#caption {
|
|
font-weight: normal;
|
|
padding-top: 0;
|
|
margin-top: -1.4em;
|
|
}
|
|
h1, h2, h3, h4, h5, h6 {
|
|
border-left: var(--stdaccentborder);
|
|
padding-left: var(--stdpadding);
|
|
}
|
|
|
|
/* Links */
|
|
a {
|
|
color: var(--linkcolor);
|
|
}
|
|
a:hover {
|
|
color: var(--linkhover);
|
|
}
|
|
|
|
/* Nav */
|
|
nav {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
max-width: 100%;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
nav#main-nav {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: var(--navbarheight);
|
|
}
|
|
nav a, nav span, body > a{
|
|
padding: calc(var(--stdpadding) / 2) calc(var(--stdpadding) / 4 * 3);
|
|
margin: calc(var(--stdpadding) / 2) calc(var(--stdpadding) / 4);
|
|
}
|
|
nav a, body > a {
|
|
border-left: var(--stdaccentborder);
|
|
border-color: #0000;
|
|
background: linear-gradient(var(--blockbghover) 0 0) 0 / var(--bgpos, 0) no-repeat;
|
|
transition: background .3s, border .3s;
|
|
}
|
|
nav a:hover, body > a:hover {
|
|
--bgpos: 100%;
|
|
border-left: var(--stdaccentborder);
|
|
}
|
|
body > a {
|
|
display: block;
|
|
margin-left: 0;
|
|
padding-left: 1rem;
|
|
font-weight: bold;
|
|
font-size: 1.25em;
|
|
border-left: var(--stdaccentborder);
|
|
}
|
|
|
|
/* Background image type beat */
|
|
#leftsidebg, #rightsidebg {
|
|
position: fixed;
|
|
z-index: -10;
|
|
bottom: 0;
|
|
top: 0;
|
|
background-position: center;
|
|
background-size: cover;
|
|
--shadowsize: 3rem;
|
|
--distancefromcenter: calc((var(--bodywidth) / -2) - (var(--stdpadding) * 3));
|
|
}
|
|
#leftsidebg {
|
|
right: calc(50% - var(--distancefromcenter));
|
|
left: 0;
|
|
box-shadow: calc(0rem - var(--shadowsize)) 0 var(--shadowsize) calc(0rem - var(--shadowsize)) black inset;
|
|
}
|
|
#rightsidebg {
|
|
right: 0;
|
|
left: calc(50% - var(--distancefromcenter));
|
|
box-shadow: var(--shadowsize) 0 var(--shadowsize) calc(0rem - var(--shadowsize)) black inset;
|
|
}
|
|
|
|
/* 88x31 button container */
|
|
.buttons {
|
|
text-align: center;
|
|
font-size: 0;
|
|
}
|
|
.buttons > * {
|
|
display: inline-block;
|
|
margin: 0.1rem;
|
|
font-size: 0;
|
|
}
|
|
.buttons > a > img {
|
|
transition-duration: .5s;
|
|
box-shadow: none;
|
|
display: inline-block;
|
|
transform: translate(0, 0);
|
|
}
|
|
.buttons > a > img:hover {
|
|
box-shadow: 2px 2px 4px black;
|
|
z-index: 5;
|
|
transform: translate(-2px, -2px);
|
|
}
|
|
|
|
/* Code snippets */
|
|
code {
|
|
padding: 0.15rem;
|
|
}
|
|
pre > code {
|
|
display: block;
|
|
margin-bottom: 1rem;
|
|
overflow-x: auto;
|
|
}
|
|
code, .codetitle {
|
|
background-color: black;
|
|
font-size: .8rem;
|
|
}
|
|
pre > code, .codetitle {
|
|
width: 75%;
|
|
margin: auto;
|
|
border: 1px solid #00ffd5;
|
|
padding: 0.7rem;
|
|
}
|
|
.codetitle {
|
|
margin-bottom: 0;
|
|
border-bottom: none;
|
|
text-align: center;
|
|
}
|
|
.codetitle + pre {
|
|
margin-top: 0;
|
|
}
|
|
|
|
/* Tables */
|
|
table {
|
|
border-collapse: collapse;
|
|
}
|
|
td {
|
|
padding: calc(var(--stdpadding) / 2);
|
|
}
|
|
tr > td:first-child {
|
|
padding-left: 0;
|
|
}
|
|
tr.indent-1 td {
|
|
padding-left: calc(var(--stdpadding));
|
|
}
|
|
tr.indent-1 td:first-child {
|
|
border-left: var(--stdaccentborder);
|
|
}
|
|
|
|
/* Quotations */
|
|
figure.quote {
|
|
padding: calc(var(--stdpadding) * 1.5);
|
|
margin: 0;
|
|
margin-bottom: initial;
|
|
border-left: var(--stdaccentborder);
|
|
background-color: var(--blockbg);
|
|
margin-bottom: var(--stdpadding);
|
|
}
|
|
figure.quote blockquote {
|
|
margin: 0;
|
|
}
|
|
figure.quote figcaption {
|
|
margin-left: calc(var(--stdpadding) * 3);
|
|
margin-top: var(--stdpadding);
|
|
}
|
|
|
|
/* Misc */
|
|
img, picture, video {
|
|
max-width: 100%;
|
|
}
|
|
summary:hover {
|
|
cursor: pointer;
|
|
}
|
|
[title] {
|
|
text-decoration: underline;
|
|
}
|
|
[title]:hover {
|
|
cursor: help;
|
|
}
|
|
hr {
|
|
width: 30%;
|
|
}
|
|
|
|
/* Funsies */
|
|
.serif {
|
|
font-family: serif;
|
|
}
|
|
.flipped {
|
|
display: inline-block;
|
|
transform: rotate(180deg);
|
|
}
|
|
.rainbowtext {
|
|
animation-name: rainbow-text;
|
|
animation-duration: 20s;
|
|
animation-iteration-count: infinite;
|
|
}
|
|
.blinking {
|
|
animation-name: opacityblink;
|
|
animation-duration: 2s;
|
|
animation-iteration-count: infinite;
|
|
}
|
|
.minecraftsplash {
|
|
animation-name: growshrink;
|
|
animation-duration: 1.5s;
|
|
animation-iteration-count: infinite;
|
|
color: yellow;
|
|
display: inline-block;
|
|
}
|
|
.house {
|
|
color: cornflowerblue;
|
|
}
|
|
@keyframes growshrink {
|
|
0%, 100% { transform: scale(1) rotate(-10deg); }
|
|
50% { transform: scale(1.2) rotate(-10deg); }
|
|
}
|
|
@keyframes opacityblink {
|
|
0%, 50% {opacity: 0;}
|
|
50.001%, 100% {opacity: 1;}
|
|
}
|
|
@keyframes rainbow-text {
|
|
100%,0%{color: rgb(255,0,0); text-shadow: 0 0 4px rgb(216, 1, 1);}
|
|
8%{color: rgb(255,127,0); text-shadow: 0 0 4px rgb(211, 105, 0);}
|
|
16%{color: rgb(255,255,0); text-shadow: 0 0 4px rgb(214, 214, 0);}
|
|
25%{color: rgb(127,255,0); text-shadow: 0 0 4px rgb(105, 211, 0);}
|
|
33%{color: rgb(0,255,0); text-shadow: 0 0 4px rgb(0, 204, 0);}
|
|
41%{color: rgb(0,255,127); text-shadow: 0 0 4px rgb(0, 209, 105);}
|
|
50%{color: rgb(0,255,255); text-shadow: 0 0 4px rgb(0, 202, 202);}
|
|
58%{color: rgb(0,127,255); text-shadow: 0 0 4px rgb(0, 103, 206);}
|
|
66%{color: rgb(0,0,255); text-shadow: 0 0 4px rgb(0, 0, 206);}
|
|
75%{color: rgb(127,0,255); text-shadow: 0 0 4px rgb(103, 0, 206);}
|
|
83%{color: rgb(255,0,255); text-shadow: 0 0 4px rgb(211, 0, 211);}
|
|
91%{color: rgb(255,0,127); text-shadow: 0 0 4px rgb(211, 0, 105);}
|
|
}
|
|
|
|
/* If user is on mobile */
|
|
@media only screen and (hover: none) {
|
|
|
|
nav#main-nav {
|
|
position: initial;
|
|
top: initial;
|
|
left: initial;
|
|
right: initial;
|
|
height: initial;
|
|
margin-top: calc(var(--stdpadding) / 2);
|
|
}
|
|
h1 {
|
|
margin-top: initial;
|
|
}
|
|
nav a, nav span {
|
|
flex-grow: 1;
|
|
}
|
|
nav a, body > a {
|
|
border-left: 3px solid var(--fontcolor);
|
|
background-color: var(--blockbg);
|
|
}
|
|
nav a, body > a, nav span {
|
|
padding: calc(var(--stdpadding) / 2) calc(var(--stdpadding) / 4 * 3);
|
|
margin: 0 0 calc(var(--stdpadding) / 2) 0;
|
|
}
|
|
body > a {
|
|
margin-left: 0;
|
|
}
|
|
pre > code, .codetitle {
|
|
border-width: .1rem;
|
|
width: initial;
|
|
}
|
|
@media (max-width: 43rem) {
|
|
.buttons > * {
|
|
width: 24%;
|
|
}
|
|
.buttons > a > img {
|
|
width: 100%;
|
|
}
|
|
}
|
|
#leftsidebg, #rightsidebg {
|
|
top: 0; left: 0; right: 0; bottom: 0;
|
|
box-shadow: 100vw 0 0 #000000bb inset;
|
|
}
|
|
tr:hover {
|
|
background-color: initial;
|
|
}
|
|
td {
|
|
display: block;
|
|
}
|
|
@media (prefers-contrast: more) {
|
|
#leftsidebg, #rightsidebg {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* TODO: Light theme
|
|
@media (prefers-color-scheme: light) {
|
|
:root {
|
|
--bgcolor: #dffffa;
|
|
--fontcolor: #222222;
|
|
--blockbg: #0001;
|
|
--blockbghover: #00000022;
|
|
--stdshadow: #19191977;
|
|
}
|
|
}
|
|
*/
|
|
|
|
@media (prefers-contrast: more) {
|
|
body {
|
|
color: white;
|
|
background-color:#111111;
|
|
}
|
|
#leftsidebg, #rightsidebg {
|
|
display: none;
|
|
/*box-shadow: 100vw 0 0 #000000ee inset;*/
|
|
}
|
|
a {
|
|
color: #00ffd5;
|
|
}
|
|
}
|
|
|
|
/* TODO: Low contrast theme */
|
|
/*@media (prefers-contrast: less) {
|
|
|
|
}*/
|
|
|
|
@media (prefers-reduced-motion) {
|
|
* {
|
|
transition-duration: 0s !important;
|
|
}
|
|
} |