510 lines
9.1 KiB
CSS
510 lines
9.1 KiB
CSS
/* Colors */
|
|
:root {
|
|
--lightgray: #e0e0e0;
|
|
--gray: #AAA;
|
|
--darkgray: #111111;
|
|
--lightblue: #6666FF;
|
|
--blue: #0000FF;
|
|
--lightpurple: #CC99FF;
|
|
--purple: #AA66FF;
|
|
--white: #fff;
|
|
--black: #000;
|
|
}
|
|
|
|
/* Fonts */
|
|
@font-face {
|
|
font-family: 'orbitron';
|
|
src: url('/assets/fonts/Orbitron-SemiBold.ttf') format('truetype');
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: 'ubuntu';
|
|
src: url('/assets/fonts/UbuntuMono-Regular.ttf') format('truetype');
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: 'dejavu';
|
|
src: url('/assets/fonts/DejaVuSansMono.ttf') format('truetype');
|
|
font-display: swap;
|
|
}
|
|
|
|
/* Printed pages */
|
|
@media print {
|
|
body {
|
|
font-size: .7;
|
|
}
|
|
header #topbar, header .subtext, nav {
|
|
display: none;
|
|
}
|
|
footer {
|
|
margin: 0 auto;
|
|
padding: 0;
|
|
}
|
|
footer p {
|
|
box-shadow: none !important;
|
|
}
|
|
hr {
|
|
margin: 0 auto;
|
|
}
|
|
pre {
|
|
white-space: pre-wrap;
|
|
}
|
|
.no-print {
|
|
display:none;
|
|
}
|
|
}
|
|
|
|
/* Global stylesheet */
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
::-webkit-scrollbar {
|
|
width: 5vw;
|
|
max-width: 20px;
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background-color: var(--darkgray);
|
|
}
|
|
::-webkit-scrollbar-thumb {
|
|
background-color: #999;
|
|
border-radius: 0;
|
|
}
|
|
::selection {
|
|
background-color: var(--gray);
|
|
color: var(--black);
|
|
}
|
|
pre::selection {
|
|
background-color: var(--gray);
|
|
}
|
|
code::selection {
|
|
background-color: var(--gray);
|
|
}
|
|
blockquote {
|
|
margin-inline-start: 10vw;
|
|
margin-inline-end: 5vw;
|
|
}
|
|
|
|
html {
|
|
min-height: 100vh;
|
|
}
|
|
html,
|
|
body {
|
|
padding: 0;
|
|
margin: 0;
|
|
font-family: 'dejavu', monospace;
|
|
color: var(--lightgray);
|
|
background-color: var(--darkgray);
|
|
overflow-x: hidden;
|
|
}
|
|
header {
|
|
font-size: calc(.5em + 2vw);
|
|
}
|
|
nav {
|
|
font-size: calc(.55em + 1.2vw);
|
|
}
|
|
h1, h2, h3, h4, h5, h6 {
|
|
color: var(--white);
|
|
}
|
|
h1, h2, h3 {
|
|
font-family: 'orbitron', sans-serif;
|
|
}
|
|
h4, h5, h6 {
|
|
font-family: 'ubuntu', sans-serif;
|
|
}
|
|
.header-anchor {
|
|
text-decoration: none;
|
|
color: rgba(255,255,255,.75);
|
|
}
|
|
.header-anchor:hover {
|
|
color: rgba(255,255,255,1)
|
|
}
|
|
p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.tmpl-post li {
|
|
line-height: 1.45;
|
|
}
|
|
img {
|
|
max-width: 100%;
|
|
max-height: 90vh;
|
|
height: auto;
|
|
width: auto;
|
|
display: block;
|
|
margin: auto;
|
|
}
|
|
a[href] {
|
|
color: var(--lightgray);
|
|
}
|
|
a[href]:visited {
|
|
color: var(--lightgray);
|
|
}
|
|
|
|
/* Remove up/down buttons from number inputs */
|
|
/* https://stackoverflow.com/a/22306944 */
|
|
input[type=number]::-webkit-inner-spin-button,
|
|
input[type=number]::-webkit-outer-spin-button {
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
appearance: none;
|
|
margin: 0;
|
|
}
|
|
/* https://www.w3schools.com/howto/howto_css_hide_arrow_number.asp */
|
|
input[type=number] {
|
|
-moz-appearance: textfield;
|
|
}
|
|
input[type=checkbox], input[type=radio] {
|
|
width: fit-content;
|
|
}
|
|
input, textarea, button {
|
|
color: inherit;
|
|
font-size: inherit;
|
|
font-family: inherit;
|
|
border-style: solid;
|
|
border-width: 1px;
|
|
width: 100%;
|
|
border-radius: calc(.2vw + .2vh);
|
|
}
|
|
textarea, input {
|
|
padding: calc(.2vw + .2vh);
|
|
background-color: rgba(255,255,255,.045);
|
|
box-shadow: -0.05vw -0.1vh calc(0.05vw + 0.1vh) #ddd inset, 0.1vw 0.1vh calc(0.15vw + 0.15vh) #000 inset;
|
|
}
|
|
textarea:enabled, input:enabled {
|
|
border: none;
|
|
}
|
|
textarea {
|
|
resize: vertical;
|
|
height: 15vh;
|
|
}
|
|
button {
|
|
height: 2em;
|
|
background-color: rgba(255,255,255,.065);
|
|
}
|
|
button:enabled {
|
|
cursor: pointer;
|
|
border: none;
|
|
box-shadow: -0.2vw -0.3vh calc(0.2vw + 0.2vh) #000 inset, 0.1vw 0.1vh calc(0.15vw + 0.15vh) #ddd inset;
|
|
}
|
|
button:disabled {
|
|
cursor: not-allowed;
|
|
box-shadow: none;
|
|
}t
|
|
button:hover:enabled {
|
|
background-color: rgba(255,255,255,.08);
|
|
}
|
|
button:active {
|
|
box-shadow: -0.05vw -0.1vh calc(0.05vw + 0.1vh) #ddd inset, 0.1vw 0.1vh calc(0.15vw + 0.15vh) #000 inset;
|
|
}
|
|
|
|
main {
|
|
max-width: calc(100vh + 10vw);
|
|
padding: calc(.3rem + 2vw);
|
|
margin: 0 auto;
|
|
font-size: calc(.8em + .6vw);
|
|
line-height: 1.5;
|
|
}
|
|
main :first-child {
|
|
margin-top: 0;
|
|
}
|
|
header, footer {
|
|
width: 100%;
|
|
/*background-image: url('/assets/img/android-chrome-192x192.png');*/
|
|
background-image: url('/assets/img/icon/logo2.png');
|
|
background-size: 192px;
|
|
background-repeat: repeat-x;
|
|
background-position: bottom;
|
|
}
|
|
|
|
/* Header */
|
|
header {
|
|
background-color: rgba(17,17,17,0.6);
|
|
border-bottom: 1px solid var(--gray);
|
|
}
|
|
#topbar {
|
|
background-color: rgba(17,17,17,0.6);
|
|
font-size: calc(1.15em - 1.1vw);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: 1rem 1rem 0.5em;
|
|
}
|
|
|
|
#topbar .middle-container,
|
|
#topbar .middle-container input {
|
|
flex-grow: 1;
|
|
}
|
|
#topbar .middle-container input:focus,
|
|
#topbar .middle-container input:focus-visible {
|
|
outline: none;
|
|
}
|
|
#topbar .middle-container input,
|
|
#topbar .middle-container button {
|
|
height: 1em;
|
|
flex-basis: fit-content;
|
|
}
|
|
#topbar .middle-container form {
|
|
width: 90%;
|
|
margin: auto;
|
|
height: 1em;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
@media (max-width: 900px) {
|
|
#topbar {
|
|
flex-wrap: wrap;
|
|
}
|
|
#topbar .left-container {
|
|
order: 2;
|
|
}
|
|
#topbar .middle-container {
|
|
order: 1;
|
|
width: 100%;
|
|
margin-bottom: 1em;
|
|
}
|
|
#topbar .middle-container form {
|
|
width: 100%;
|
|
}
|
|
#topbar .right-container {
|
|
order: 3;
|
|
}
|
|
}
|
|
#topbar a,
|
|
#topbar .text:hover {
|
|
text-decoration: none;
|
|
}
|
|
#topbar .text {
|
|
text-decoration: underline;
|
|
}
|
|
.home {
|
|
margin: 0 auto;
|
|
font-size: calc(4em + 1vw);
|
|
font-family: 'orbitron', sans-serif;
|
|
}
|
|
.home,
|
|
.subtext {
|
|
background-color: rgba(17,17,17,0.6);
|
|
color: var(--white);
|
|
padding: 0 1rem;
|
|
text-align: center;
|
|
}
|
|
.home a,
|
|
.subtext a {
|
|
text-decoration: none;
|
|
}
|
|
.subtext {
|
|
margin: 0;
|
|
font-size: calc(1.4em + .25vw);
|
|
padding-bottom: 0.6666em;
|
|
font-family: 'ubuntu', monospace;
|
|
}
|
|
|
|
.flex {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
footer {
|
|
font-size: calc(.6em + 1vw);
|
|
display: flex;
|
|
padding-bottom: 1rem;
|
|
min-height: 192px;
|
|
margin: 0 auto;
|
|
}
|
|
footer p {
|
|
margin: auto;
|
|
box-shadow: 0 0 calc(1.3vw + 1.3vh) calc(1.3vw + 1.3vh) rgba(17,17,17,.8);
|
|
padding: 1em;
|
|
min-width: fit-content;
|
|
text-align: center;
|
|
background-color: rgba(17,17,17,0.8);
|
|
}
|
|
header:after {
|
|
content: "";
|
|
display: table;
|
|
clear: both;
|
|
}
|
|
table {
|
|
margin: 1em 0;
|
|
}
|
|
table td,
|
|
table th {
|
|
padding-right: 1em;
|
|
}
|
|
|
|
hr {
|
|
margin: 3rem auto;
|
|
}
|
|
pre {
|
|
line-height: 1.375;
|
|
direction: ltr;
|
|
text-align: left;
|
|
white-space: pre;
|
|
word-spacing: normal;
|
|
word-break: normal;
|
|
-moz-tab-size: 2;
|
|
-o-tab-size: 2;
|
|
tab-size: 2;
|
|
-webkit-hyphens: none;
|
|
-moz-hyphens: none;
|
|
-ms-hyphens: none;
|
|
hyphens: none;
|
|
padding: 1em;
|
|
margin: .5em 0;
|
|
background-color: #000;
|
|
overflow-x: scroll;
|
|
}
|
|
code {
|
|
background-color: #000;
|
|
word-break: break-all;
|
|
}
|
|
.highlight-line {
|
|
display: block;
|
|
padding: 0.125em 1em;
|
|
text-decoration: none; /* override del, ins, mark defaults */
|
|
color: inherit; /* override del, ins, mark defaults */
|
|
}
|
|
|
|
/* allow highlighting empty lines */
|
|
.highlight-line:empty:before {
|
|
content: " ";
|
|
}
|
|
/* avoid double line breaks when using display: block; */
|
|
.highlight-line + br {
|
|
display: none;
|
|
}
|
|
|
|
.highlight-line-isdir {
|
|
color: #b0b0b0;
|
|
background-color: #222;
|
|
}
|
|
.highlight-line-active {
|
|
background-color: #444;
|
|
background-color: hsla(0, 0%, 27%, .8);
|
|
}
|
|
.highlight-line-add {
|
|
background-color: #45844b;
|
|
}
|
|
.highlight-line-remove {
|
|
background-color: #902f2f;
|
|
}
|
|
|
|
/* Nav */
|
|
.nav {
|
|
font-family: 'dejavu', monospace;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: space-around;
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
border-bottom: 1px solid var(--gray);
|
|
background-color: var(--darkgray);
|
|
}
|
|
.nav-item {
|
|
display: inline-block;
|
|
margin: .7em .5em;
|
|
}
|
|
.nav-item a[href]:hover {
|
|
text-decoration: none;
|
|
}
|
|
.nav-item-active {
|
|
font-weight: 700;
|
|
color: var(--white);
|
|
}
|
|
|
|
/* Posts list */
|
|
.postlist {
|
|
list-style: none;
|
|
padding: 0;
|
|
}
|
|
.postlist-item {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: baseline;
|
|
counter-increment: start-from -1;
|
|
line-height: 1.8;
|
|
}
|
|
/* Counter */
|
|
/* .postlist-item:before {
|
|
display: inline-block;
|
|
pointer-events: none;
|
|
content: "" counter(start-from, decimal-leading-zero) ". ";
|
|
line-height: 100%;
|
|
text-align: right;
|
|
}
|
|
.postlist-date,
|
|
.postlist-item:before {
|
|
font-size: 0.8125em;
|
|
} */
|
|
.postlist-date {
|
|
word-spacing: -0.5px;
|
|
margin-right: 0.8em;
|
|
}
|
|
.postlist-link {
|
|
font-weight: bold;
|
|
padding-left: .25em;
|
|
padding-right: 2em;
|
|
text-underline-position: from-font;
|
|
text-underline-offset: 0;
|
|
text-decoration-thickness: 1px;
|
|
}
|
|
.postlist-link:hover {
|
|
text-decoration: none;
|
|
}
|
|
|
|
/* Tags */
|
|
.post-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-transform: uppercase;
|
|
font-size: 1rem;
|
|
padding: 0 calc(.2em + .2vw + .2vh);
|
|
margin-left: 0.8em;
|
|
border: 1px solid var(--gray);
|
|
border-radius: 0.25em;
|
|
text-decoration: none;
|
|
line-height: 1.8;
|
|
}
|
|
a[href].post-tag,
|
|
a[href].post-tag:visited {
|
|
color: inherit;
|
|
}
|
|
a[href].post-tag:hover,
|
|
a[href].post-tag:focus {
|
|
background-color: var(--lightgray);
|
|
color: var(--darkgray);
|
|
}
|
|
.postlist-item > .post-tag {
|
|
align-self: center;
|
|
}
|
|
|
|
/* Warning */
|
|
.warning {
|
|
background-color: #ffc;
|
|
padding: 1em 0.625em; /* 16px 10px /16 */
|
|
}
|
|
.warning ol:only-child {
|
|
margin: 0;
|
|
}
|
|
|
|
/* Direct Links / Markdown Headers */
|
|
.direct-link {
|
|
font-family: 'dejavu', monospace;
|
|
font-style: normal;
|
|
margin-left: .1em;
|
|
}
|
|
a[href].direct-link,
|
|
a[href].direct-link:visited {
|
|
color: transparent;
|
|
}
|
|
a[href].direct-link:focus,
|
|
a[href].direct-link:focus:visited,
|
|
:hover > a[href].direct-link,
|
|
:hover > a[href].direct-link:visited {
|
|
color: #aaa;
|
|
}
|
|
a.direct-link:not(:hover) {
|
|
text-decoration: underline;
|
|
}
|