542 lines
9.9 KiB
CSS
542 lines
9.9 KiB
CSS
|
|
:root {
|
||
|
|
--corner-thickness: 1px;
|
||
|
|
--corner-margin: -16px;
|
||
|
|
--corner-color: #606060;
|
||
|
|
--glass-tint: rgba(255, 255, 255, .075);
|
||
|
|
--glass-blur: 4px;
|
||
|
|
--color-accent: #323232;
|
||
|
|
--color-background: #000;
|
||
|
|
--color-text-default: #f0f0f0;
|
||
|
|
--color-text-hidden: #a0a0a0;
|
||
|
|
}
|
||
|
|
|
||
|
|
::-webkit-scrollbar {
|
||
|
|
width: 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
body {
|
||
|
|
padding: 0;
|
||
|
|
margin: 0;
|
||
|
|
background-color: var(--color-background);
|
||
|
|
}
|
||
|
|
|
||
|
|
button,
|
||
|
|
span,
|
||
|
|
h1,
|
||
|
|
h2,
|
||
|
|
h3,
|
||
|
|
h4,
|
||
|
|
h5,
|
||
|
|
h6,
|
||
|
|
p,
|
||
|
|
a {
|
||
|
|
font-family: 'Terminus', sans-serif;
|
||
|
|
font-weight: normal;
|
||
|
|
font-size: 1em;
|
||
|
|
line-height: 1.5em;
|
||
|
|
text-decoration: none;
|
||
|
|
color: var(--color-text-default);
|
||
|
|
padding: 0;
|
||
|
|
margin: 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
a:hover,
|
||
|
|
a:focus-visible {
|
||
|
|
text-decoration: underline;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Layout */
|
||
|
|
|
||
|
|
div.layout-wrapper {
|
||
|
|
display: grid;
|
||
|
|
width: 100%;
|
||
|
|
height: 100%;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.layout-background {
|
||
|
|
position: fixed;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.layout-foreground {
|
||
|
|
margin: auto;
|
||
|
|
width: 100%;
|
||
|
|
max-width: 1024px;
|
||
|
|
display: flex;
|
||
|
|
gap: 16px;
|
||
|
|
justify-content: center;
|
||
|
|
padding: 16px 0;
|
||
|
|
box-sizing: border-box;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.layout-pane {
|
||
|
|
grid-row: 1;
|
||
|
|
grid-column: 1;
|
||
|
|
height: fit-content;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Navigation Links */
|
||
|
|
|
||
|
|
nav.section-navigation {
|
||
|
|
width: 300px;
|
||
|
|
overflow-y: scroll;
|
||
|
|
overflow-x: hidden;
|
||
|
|
max-height: calc(100vh - 64px);
|
||
|
|
padding: 8px;
|
||
|
|
box-sizing: border-box;
|
||
|
|
}
|
||
|
|
|
||
|
|
button.nav-header {
|
||
|
|
position: relative;
|
||
|
|
text-align: left;
|
||
|
|
width: 100%;
|
||
|
|
padding: 4px;
|
||
|
|
padding-right: 16px;
|
||
|
|
background: transparent;
|
||
|
|
border: none;
|
||
|
|
border-bottom: 1px solid transparent;
|
||
|
|
cursor: pointer;
|
||
|
|
}
|
||
|
|
|
||
|
|
button.nav-header.open {
|
||
|
|
border-color: var(--color-text-hidden);
|
||
|
|
}
|
||
|
|
|
||
|
|
button.nav-header img {
|
||
|
|
height: 16px;
|
||
|
|
width: 16px;
|
||
|
|
position: absolute;
|
||
|
|
right: 16px;
|
||
|
|
}
|
||
|
|
|
||
|
|
p.nav-message {
|
||
|
|
color: var(--color-text-hidden);
|
||
|
|
text-align: center;
|
||
|
|
padding: 8px;
|
||
|
|
}
|
||
|
|
|
||
|
|
a.item-nav {
|
||
|
|
width: 100%;
|
||
|
|
display: flex;
|
||
|
|
padding: 12px 8px 12px 4px;
|
||
|
|
box-sizing: border-box;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-nav-text {
|
||
|
|
flex-basis: 100%;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-nav-text p.item-nav-text-anchor,
|
||
|
|
div.item-nav-text p.item-nav-text-content {
|
||
|
|
font-family: 'Terminus', serif;
|
||
|
|
color: var(--color-text-default);
|
||
|
|
line-height: 1em;
|
||
|
|
font-size: 1em;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-nav-text p.item-nav-text-content {
|
||
|
|
color: var(--color-text-hidden);
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-nav-icon {
|
||
|
|
display: grid;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-nav-icon div.item-nav-icon-background,
|
||
|
|
div.item-nav-icon img.item-nav-icon-foreground {
|
||
|
|
grid-row: 1;
|
||
|
|
grid-column: 1;
|
||
|
|
margin: auto;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-nav-icon div.item-nav-icon-background {
|
||
|
|
background-color: var(--color-accent);
|
||
|
|
transform: rotate(45deg);
|
||
|
|
z-index: -1;
|
||
|
|
height: 32px;
|
||
|
|
width: 32px;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-nav-icon img.item-nav-icon-foreground {
|
||
|
|
width: 16px;
|
||
|
|
height: auto;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Navigation Chapters */
|
||
|
|
|
||
|
|
div.nav-list#chapters {
|
||
|
|
display: grid;
|
||
|
|
padding: 4px;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.nav-list#chapters a.section {
|
||
|
|
font-size: small;
|
||
|
|
padding-left: 8px;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Article List */
|
||
|
|
|
||
|
|
div.item-article-count {
|
||
|
|
width: 100%;
|
||
|
|
background-color: var(--color-accent);
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-article-count p.item-article-count-text {
|
||
|
|
display: block;
|
||
|
|
width: 100%;
|
||
|
|
height: 32px;
|
||
|
|
padding: 0 8px;
|
||
|
|
line-height: 32px;
|
||
|
|
box-sizing: border-box;
|
||
|
|
color: var(--color-text-hidden);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-article-count span.item-article-count-cursor {
|
||
|
|
color: var(--color-text-hidden);
|
||
|
|
}
|
||
|
|
|
||
|
|
a.item-article {
|
||
|
|
display: grid;
|
||
|
|
height: 80px;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-article-layer {
|
||
|
|
width: 100%;
|
||
|
|
height: 100%;
|
||
|
|
grid-row: 1;
|
||
|
|
grid-column: 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-article-meta {
|
||
|
|
padding: 8px 0;
|
||
|
|
box-sizing: border-box;
|
||
|
|
}
|
||
|
|
|
||
|
|
p.item-article-meta-title {
|
||
|
|
padding-left: 10px;
|
||
|
|
}
|
||
|
|
|
||
|
|
p.item-article-meta-description {
|
||
|
|
color: var(--color-text-hidden);
|
||
|
|
padding-left: 10px;
|
||
|
|
font-size: small;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-article-meta-tags {
|
||
|
|
display: flex;
|
||
|
|
padding-left: 4px;
|
||
|
|
gap: 4px;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.item-article-meta-tags>span {
|
||
|
|
color: var(--color-text-hidden);
|
||
|
|
padding: 0 6px;
|
||
|
|
font-size: small;
|
||
|
|
}
|
||
|
|
|
||
|
|
img.item-article-banner {
|
||
|
|
position: absolute;
|
||
|
|
right: 0;
|
||
|
|
height: 80px;
|
||
|
|
object-fit: cover;
|
||
|
|
aspect-ratio: 3 / 1;
|
||
|
|
mask-image: linear-gradient(-90deg, rgba(0, 0, 0, .5) 0%, transparent 100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Article Header */
|
||
|
|
|
||
|
|
article.section-article {
|
||
|
|
width: 600px;
|
||
|
|
max-height: calc(100vh - 64px);
|
||
|
|
overflow-y: scroll;
|
||
|
|
box-sizing: border-box;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.article-header {
|
||
|
|
width: 100%;
|
||
|
|
height: fit-content;
|
||
|
|
display: grid;
|
||
|
|
justify-items: center;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.header-chevrons {
|
||
|
|
display: flex;
|
||
|
|
justify-content: space-between;
|
||
|
|
width: 100%;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.article-content:has(*) {
|
||
|
|
display: grid;
|
||
|
|
gap: 8px;
|
||
|
|
padding: 16px;
|
||
|
|
box-sizing: border-box;
|
||
|
|
}
|
||
|
|
|
||
|
|
img#header-banner {
|
||
|
|
width: 100%;
|
||
|
|
object-fit: cover;
|
||
|
|
aspect-ratio: 3 / 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
h1#header-title {
|
||
|
|
word-wrap: break-word;
|
||
|
|
overflow: hidden;
|
||
|
|
margin: 16px 0 24px 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Article Elements */
|
||
|
|
|
||
|
|
h2.element-header {
|
||
|
|
font-size: x-large;
|
||
|
|
font-weight: bold;
|
||
|
|
border-bottom: 1px solid;
|
||
|
|
margin-bottom: 8px;
|
||
|
|
padding-bottom: 8px 0;
|
||
|
|
padding-top: 16px;
|
||
|
|
}
|
||
|
|
|
||
|
|
h3.element-subheader {
|
||
|
|
font-weight: bold;
|
||
|
|
text-decoration: underline;
|
||
|
|
padding-bottom: 8px;
|
||
|
|
padding-top: 16px;
|
||
|
|
}
|
||
|
|
|
||
|
|
p.element-paragraph {
|
||
|
|
line-height: 1.25;
|
||
|
|
text-align: justify;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Animations */
|
||
|
|
|
||
|
|
.animation-blink {
|
||
|
|
animation: kf-blink 1s infinite step-start;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes kf-blink {
|
||
|
|
50% {
|
||
|
|
opacity: 0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.animation-scrollin {
|
||
|
|
box-sizing: border-box;
|
||
|
|
overflow: hidden;
|
||
|
|
text-wrap-mode: nowrap;
|
||
|
|
animation: kf-scrollin 750ms forwards linear;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes kf-scrollin {
|
||
|
|
0% {
|
||
|
|
width: 0%;
|
||
|
|
}
|
||
|
|
|
||
|
|
100% {
|
||
|
|
width: 100%;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.animation-fadein {
|
||
|
|
animation: kf-fadein 500ms forwards linear;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes kf-fadein {
|
||
|
|
0% {
|
||
|
|
opacity: 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
100% {
|
||
|
|
opacity: 1;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Effects */
|
||
|
|
|
||
|
|
.effect-glass-wrapper {
|
||
|
|
position: relative;
|
||
|
|
margin: 16px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-docked {
|
||
|
|
font-size: 2em;
|
||
|
|
font-weight: bold;
|
||
|
|
text-align: center;
|
||
|
|
position: relative;
|
||
|
|
padding: 0 16px;
|
||
|
|
z-index: 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-docked::before {
|
||
|
|
position: absolute;
|
||
|
|
content: '';
|
||
|
|
height: 100%;
|
||
|
|
width: 100%;
|
||
|
|
top: 0;
|
||
|
|
left: 0;
|
||
|
|
box-sizing: border-box;
|
||
|
|
background: var(--color-accent);
|
||
|
|
clip-path: polygon(12px 60%, calc(100% - 12px) 60%, 100% 100%, 0 100%);
|
||
|
|
z-index: -1;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.effect-chevron-container {
|
||
|
|
align-items: end;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-chevron-point-left,
|
||
|
|
.effect-chevron-point-right {
|
||
|
|
display: inline-block;
|
||
|
|
background-color: var(--color-accent);
|
||
|
|
text-decoration: none;
|
||
|
|
font-weight: bold;
|
||
|
|
height: 24px;
|
||
|
|
width: fit-content;
|
||
|
|
padding: 0 16px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-chevron-point-right {
|
||
|
|
margin-right: -4px;
|
||
|
|
clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%, 8px 50%);
|
||
|
|
}
|
||
|
|
|
||
|
|
div.effect-chevron-container>.effect-chevron-point-right:first-child {
|
||
|
|
padding-left: 8px;
|
||
|
|
clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-chevron-point-left {
|
||
|
|
margin-left: -4px;
|
||
|
|
clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 8px 100%, 0 50%);
|
||
|
|
}
|
||
|
|
|
||
|
|
div.effect-chevron-container>.effect-chevron-point-left:last-child {
|
||
|
|
padding-right: 8px;
|
||
|
|
clip-path: polygon(8px 0, 100% 0, 100% 100%, 8px 100%, 0 50%);
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-glass-container {
|
||
|
|
background: var(--glass-tint);
|
||
|
|
backdrop-filter: blur(var(--glass-blur));
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-glass-corner {
|
||
|
|
position: absolute;
|
||
|
|
width: 24px;
|
||
|
|
height: 24px;
|
||
|
|
pointer-events: none;
|
||
|
|
z-index: 999;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-glass-corner:nth-child(1) {
|
||
|
|
/* Top-left */
|
||
|
|
top: var(--corner-margin);
|
||
|
|
left: var(--corner-margin);
|
||
|
|
border-top: var(--corner-thickness) solid var(--corner-color);
|
||
|
|
border-left: var(--corner-thickness) solid var(--corner-color);
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-glass-corner:nth-child(2) {
|
||
|
|
/* Top-right */
|
||
|
|
top: var(--corner-margin);
|
||
|
|
right: var(--corner-margin);
|
||
|
|
border-top: var(--corner-thickness) solid var(--corner-color);
|
||
|
|
border-right: var(--corner-thickness) solid var(--corner-color);
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-glass-corner:nth-child(3) {
|
||
|
|
/* Bottom-left */
|
||
|
|
bottom: var(--corner-margin);
|
||
|
|
left: var(--corner-margin);
|
||
|
|
border-bottom: var(--corner-thickness) solid var(--corner-color);
|
||
|
|
border-left: var(--corner-thickness) solid var(--corner-color);
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-glass-corner:nth-child(4) {
|
||
|
|
/* Bottom-right */
|
||
|
|
bottom: var(--corner-margin);
|
||
|
|
right: var(--corner-margin);
|
||
|
|
border-bottom: var(--corner-thickness) solid var(--corner-color);
|
||
|
|
border-right: var(--corner-thickness) solid var(--corner-color);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Mobile */
|
||
|
|
@media only screen and (max-width: 600px) {
|
||
|
|
|
||
|
|
div.layout-foreground {
|
||
|
|
display: block;
|
||
|
|
padding: 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
nav.section-navigation {
|
||
|
|
width: 100%;
|
||
|
|
max-height: unset;
|
||
|
|
}
|
||
|
|
|
||
|
|
article.section-article {
|
||
|
|
width: 100%;
|
||
|
|
max-height: unset;
|
||
|
|
box-sizing: border-box;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Make Header Slightly Smaller */
|
||
|
|
h1#header-title {
|
||
|
|
font-size: 1.5em;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.header-chevrons {
|
||
|
|
display: grid;
|
||
|
|
justify-content: center;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.effect-chevron-container {
|
||
|
|
text-align: center;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-chevron-point-left,
|
||
|
|
.effect-chevron-point-right {
|
||
|
|
margin: 2px 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-chevron-point-right {
|
||
|
|
margin-right: unset;
|
||
|
|
clip-path: unset;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.effect-chevron-container>.effect-chevron-point-right:first-child {
|
||
|
|
padding-left: 16px;
|
||
|
|
clip-path: unset;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-chevron-point-left {
|
||
|
|
margin-left: unset;
|
||
|
|
clip-path: unset;
|
||
|
|
}
|
||
|
|
|
||
|
|
div.effect-chevron-container>.effect-chevron-point-left:last-child {
|
||
|
|
padding-right: 16px;
|
||
|
|
clip-path: unset;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Remove Filters from Navigation */
|
||
|
|
button.nav-header[for='authors'],
|
||
|
|
button.nav-header[for='tags'],
|
||
|
|
div.nav-list#authors,
|
||
|
|
div.nav-list#tags {
|
||
|
|
display: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-glass-wrapper {
|
||
|
|
margin: unset;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-glass-corner {
|
||
|
|
display: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
.effect-glass-container {
|
||
|
|
padding: 0;
|
||
|
|
background: transparent;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|