569 lines
14 KiB
Plaintext
569 lines
14 KiB
Plaintext
|
:root {
|
||
|
/* === Cover / Landing area === */
|
||
|
--cover-text-color: #37501a;
|
||
|
/* Used for Landing screen menu buttons, but potentially usable for highlighting other things */
|
||
|
--highlight: #86c440;
|
||
|
--highlight-contrast: var(--cover-text-color);
|
||
|
/*iverse colors used for :hover */
|
||
|
--highlight-inverse: var(--cover-text-color);
|
||
|
--highlight-inverse-contrast: white;
|
||
|
/* visual guard around title and description, when the feature is enabled */
|
||
|
--cover-title-and-description-guard-bg-color: rgba(255, 255, 255, 0.6);
|
||
|
--cover-title-text-shadow: white 0px 0px 7px;
|
||
|
/* === sticky top/left navigation menus === */
|
||
|
--sticky-menu-text-color: #9fd067;
|
||
|
/* === Alternating content (post) sections === */
|
||
|
/* Light section - text color */
|
||
|
--section-light-text-color: #3a4145;
|
||
|
/* Light section - background color */
|
||
|
--section-light-bg-color: #f2efe8;
|
||
|
/* Dark section - text color */
|
||
|
--section-dark-text-color: var(--section-light-bg-color);
|
||
|
/* Dark section - background color */
|
||
|
--section-dark-bg-color: #b80135;
|
||
|
/* Light&Dark section >quote. Supressive color, compared to 'Light section - text color'*/
|
||
|
--section-uni-quote: grey;
|
||
|
/* Light&Dark section `code` a bit darker than 'Light section - background color' */
|
||
|
--section-uni-code-bg-color: #e0ded7;
|
||
|
/* === Footer === */
|
||
|
--footer-color-background: #22343a;
|
||
|
--footer-color: #bbc7cc; }
|
||
|
|
||
|
body {
|
||
|
--color-text: var(--section-light-text-color);
|
||
|
--color-background: var(--section-light-bg-color); }
|
||
|
|
||
|
/* ===== Cover =======*/
|
||
|
#blog-logo {
|
||
|
display: block;
|
||
|
max-height: 100px;
|
||
|
width: auto;
|
||
|
margin: 0 auto;
|
||
|
line-height: 0; }
|
||
|
|
||
|
#site-head.withCenteredImage {
|
||
|
/* can't be used together with video */
|
||
|
background: var(--section-light-bg-color) no-repeat center center; }
|
||
|
|
||
|
#site-head, #site-head.withCenteredImage {
|
||
|
position: relative;
|
||
|
display: table;
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
margin-bottom: 0rem;
|
||
|
text-align: center;
|
||
|
color: var(--cover-text-color);
|
||
|
background-size: cover;
|
||
|
/* Big cover video at the landing area */
|
||
|
/** The arrow button to scroll to content */ }
|
||
|
#site-head video, #site-head.withCenteredImage video {
|
||
|
bottom: 0;
|
||
|
height: 100%;
|
||
|
min-width: 100%;
|
||
|
-o-object-fit: cover;
|
||
|
object-fit: cover;
|
||
|
position: absolute;
|
||
|
right: 0;
|
||
|
top: 0;
|
||
|
width: auto;
|
||
|
z-index: -100; }
|
||
|
#site-head .title-and-description-guard, #site-head.withCenteredImage .title-and-description-guard {
|
||
|
margin: auto;
|
||
|
padding: 0.6em;
|
||
|
background-color: var(--cover-title-and-description-guard-bg-color);
|
||
|
border-radius: 25px;
|
||
|
width: fit-content; }
|
||
|
#site-head .blog-title, #site-head.withCenteredImage .blog-title {
|
||
|
margin: 10px 0 10px 0;
|
||
|
font-size: 5rem;
|
||
|
letter-spacing: -1px;
|
||
|
text-shadow: var(--cover-title-text-shadow); }
|
||
|
#site-head .blog-description, #site-head.withCenteredImage .blog-description {
|
||
|
margin: 0;
|
||
|
font-size: 2.5rem;
|
||
|
line-height: 1.5em;
|
||
|
font-weight: 400;
|
||
|
font-family: "Roboto Slab", serif;
|
||
|
letter-spacing: 0;
|
||
|
text-shadow: var(--cover-title-text-shadow); }
|
||
|
#site-head a.btn, #site-head.withCenteredImage a.btn {
|
||
|
text-decoration: none;
|
||
|
background-color: var(--highlight);
|
||
|
color: var(--highlight-contrast);
|
||
|
border-radius: 6px;
|
||
|
-webkit-border-radius: 6px;
|
||
|
display: inline-block;
|
||
|
font-size: 24px;
|
||
|
letter-spacing: 1px;
|
||
|
margin: 0;
|
||
|
overflow: visible;
|
||
|
padding: 10px 50px 10px 50px;
|
||
|
position: relative;
|
||
|
margin-top: 2rem;
|
||
|
cursor: pointer;
|
||
|
font-family: "Oswald", sans-serif;
|
||
|
text-transform: uppercase;
|
||
|
font-weight: lighter; }
|
||
|
#site-head a.btn:hover, #site-head.withCenteredImage a.btn:hover {
|
||
|
color: var(--highlight-inverse-contrast);
|
||
|
background-color: var(--highlight-inverse); }
|
||
|
#site-head #header-arrow, #site-head.withCenteredImage #header-arrow {
|
||
|
font-size: 140px;
|
||
|
margin: -10px auto;
|
||
|
text-align: center;
|
||
|
position: absolute;
|
||
|
width: 100%;
|
||
|
left: 0;
|
||
|
bottom: -120px;
|
||
|
cursor: pointer;
|
||
|
opacity: 0.6;
|
||
|
transition: all ease 0.3s;
|
||
|
-webkit-transition: all ease 0.3s;
|
||
|
-moz-transition: all ease 0.3s; }
|
||
|
#site-head #header-arrow:hover, #site-head.withCenteredImage #header-arrow:hover {
|
||
|
color: inherit;
|
||
|
opacity: 0.9; }
|
||
|
|
||
|
/* Left sticky menu */
|
||
|
.fixed-nav {
|
||
|
background-color: var(--section-light-bg-color);
|
||
|
border-radius: 0 25px 20px 0;
|
||
|
padding: 1em 1.5em;
|
||
|
display: none;
|
||
|
flex-direction: column;
|
||
|
position: fixed;
|
||
|
top: 40px;
|
||
|
z-index: 99999;
|
||
|
font-family: "Open Sans Condensed", sans-serif;
|
||
|
text-transform: uppercase;
|
||
|
font-size: 1.5rem;
|
||
|
line-height: 130%;
|
||
|
font-weight: bold; }
|
||
|
|
||
|
a.fn-item {
|
||
|
display: block;
|
||
|
cursor: pointer;
|
||
|
opacity: 0.7;
|
||
|
text-decoration: none; }
|
||
|
a.fn-item:hover, a.fn-item.active {
|
||
|
color: var(--sticky-menu-text-color); }
|
||
|
a.fn-item.active {
|
||
|
opacity: 1; }
|
||
|
|
||
|
/* ========= Content ==========*/
|
||
|
.post-title {
|
||
|
margin: 0; }
|
||
|
.post-title a {
|
||
|
text-decoration: none; }
|
||
|
|
||
|
.post-holder {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
background-color: var(--color-background);
|
||
|
color: var(--color-text);
|
||
|
position: relative;
|
||
|
/* The triangular parts between posts */ }
|
||
|
.post-holder.dark {
|
||
|
--color-text: var(--section-dark-text-color);
|
||
|
--color-background: var(--section-dark-bg-color);
|
||
|
background-color: var(--section-dark-bg-color);
|
||
|
color: var(--section-dark-text-color); }
|
||
|
.post-holder.dark hr {
|
||
|
border-color: var(--section-dark-text-color); }
|
||
|
.post-holder.dark .post-after {
|
||
|
left: unset;
|
||
|
right: 6%;
|
||
|
border-top-color: var(--section-dark-bg-color); }
|
||
|
.post-holder .post-after {
|
||
|
position: absolute;
|
||
|
bottom: -40px;
|
||
|
z-index: 1;
|
||
|
left: 6%;
|
||
|
width: 0;
|
||
|
height: 0;
|
||
|
border-left: 60px solid transparent;
|
||
|
border-right: 60px solid transparent;
|
||
|
border-top: 50px solid var(--color-background);
|
||
|
border-radius: 25px; }
|
||
|
|
||
|
/* Every post, on every page, gets this style on its <article> tag
|
||
|
Not inside the post holder as this also applies for single pages
|
||
|
*/
|
||
|
.post {
|
||
|
position: relative;
|
||
|
width: 80%;
|
||
|
max-width: 700px;
|
||
|
margin: 0rem auto;
|
||
|
padding-bottom: 4rem;
|
||
|
padding-top: 4rem;
|
||
|
height: 70%;
|
||
|
word-break: break-word;
|
||
|
hyphens: auto; }
|
||
|
|
||
|
/* ======= Single pages =========== */
|
||
|
.post-template .post {
|
||
|
margin-top: 0;
|
||
|
border-bottom: none;
|
||
|
padding-bottom: 0; }
|
||
|
|
||
|
.post-template .post:after {
|
||
|
display: none; }
|
||
|
|
||
|
.post-template .post-header {
|
||
|
padding: 60px 0; }
|
||
|
|
||
|
.post-content img {
|
||
|
display: block;
|
||
|
max-width: 100%;
|
||
|
margin: 0 auto; }
|
||
|
|
||
|
/** ========== Site footer ============ */
|
||
|
.site-footer {
|
||
|
background: var(--footer-color-background);
|
||
|
color: var(--footer-color);
|
||
|
font-family: "Open Sans", sans-serif;
|
||
|
font-size: 1.3rem;
|
||
|
position: relative;
|
||
|
margin: 0rem 0 0 0;
|
||
|
padding: 1rem 0;
|
||
|
line-height: 1.5em;
|
||
|
text-align: center; }
|
||
|
|
||
|
.site-footer a {
|
||
|
color: var(--footer-color);
|
||
|
text-decoration: underline; }
|
||
|
|
||
|
.site-footer a:hover {
|
||
|
color: var(--sticky-menu-text-color); }
|
||
|
|
||
|
html {
|
||
|
height: 100%;
|
||
|
max-height: 100%;
|
||
|
font-size: 62.5%;
|
||
|
overflow-x: hidden;
|
||
|
scroll-behavior: smooth; }
|
||
|
|
||
|
body {
|
||
|
height: 100%;
|
||
|
max-height: 100%;
|
||
|
font-family: "Roboto Slab", serif;
|
||
|
font-size: 2rem;
|
||
|
line-height: 1.6em;
|
||
|
color: var(--section-light-text-color); }
|
||
|
|
||
|
::-moz-selection {
|
||
|
color: #222;
|
||
|
background: #d6edff;
|
||
|
text-shadow: none; }
|
||
|
|
||
|
::selection {
|
||
|
color: #222;
|
||
|
background: #d6edff;
|
||
|
text-shadow: none; }
|
||
|
|
||
|
/** =========== Headings =========== */
|
||
|
h1, h2, h3, h4, h5, h6 {
|
||
|
text-rendering: optimizeLegibility;
|
||
|
line-height: 1;
|
||
|
margin-top: 0;
|
||
|
margin-bottom: 10px;
|
||
|
font-family: "Open Sans", sans-serif; }
|
||
|
|
||
|
h3, h4, h5, h6 {
|
||
|
text-rendering: optimizeLegibility;
|
||
|
line-height: 120%;
|
||
|
margin-top: 0;
|
||
|
font-family: "Open Sans", sans-serif;
|
||
|
margin-bottom: 0%; }
|
||
|
|
||
|
h1 {
|
||
|
font-size: 5rem;
|
||
|
line-height: 1.2em;
|
||
|
letter-spacing: -2px;
|
||
|
text-indent: -3px; }
|
||
|
|
||
|
h2 {
|
||
|
font-size: 4rem;
|
||
|
line-height: 1.2em;
|
||
|
letter-spacing: -1px;
|
||
|
text-indent: -2px; }
|
||
|
|
||
|
h3 {
|
||
|
font-size: 3.5rem; }
|
||
|
|
||
|
h4 {
|
||
|
font-size: 3rem; }
|
||
|
|
||
|
h5 {
|
||
|
font-size: 2.5rem; }
|
||
|
|
||
|
h6 {
|
||
|
font-size: 2rem; }
|
||
|
|
||
|
p {
|
||
|
margin: 1em 0; }
|
||
|
|
||
|
/** ======== Links ========= */
|
||
|
a {
|
||
|
color: inherit;
|
||
|
transition: all ease 0.3s;
|
||
|
-webkit-transition: all ease 0.3s;
|
||
|
-moz-transition: all ease 0.3s; }
|
||
|
a:hover {
|
||
|
color: var(--sticky-menu-text-color); }
|
||
|
a.fa {
|
||
|
text-decoration: none; }
|
||
|
|
||
|
/** ======== Lists ====================== */
|
||
|
dl {
|
||
|
margin: 1.6em 0; }
|
||
|
dl dt {
|
||
|
float: left;
|
||
|
width: 180px;
|
||
|
overflow: hidden;
|
||
|
clear: left;
|
||
|
text-align: right;
|
||
|
text-overflow: ellipsis;
|
||
|
white-space: nowrap;
|
||
|
font-weight: bold;
|
||
|
margin-bottom: 1em; }
|
||
|
dl dd {
|
||
|
margin-left: 200px;
|
||
|
margin-bottom: 1em; }
|
||
|
|
||
|
ul, ol {
|
||
|
margin: 1em 0; }
|
||
|
ul ol, ul ul, ol ol, ol ul {
|
||
|
margin: 0.4em 0; }
|
||
|
|
||
|
li {
|
||
|
margin-left: 30px; }
|
||
|
|
||
|
/** ======== Content semantics ============= */
|
||
|
hr {
|
||
|
display: block;
|
||
|
height: 1px;
|
||
|
border: 0;
|
||
|
border-top: 1px solid var(--color-text);
|
||
|
margin: 1.5em 0;
|
||
|
padding: 0; }
|
||
|
|
||
|
/** Helper to be inserted by JS before quotations*/
|
||
|
.quo {
|
||
|
margin-right: 10px;
|
||
|
margin-left: 10px;
|
||
|
font-size: 20px; }
|
||
|
|
||
|
blockquote {
|
||
|
-moz-box-sizing: border-box;
|
||
|
box-sizing: border-box;
|
||
|
margin: 1em 0 1em -2.2em;
|
||
|
padding: 0 0 0 1em;
|
||
|
color: var(--section-uni-quote); }
|
||
|
blockquote p {
|
||
|
margin: 0.8em 0; }
|
||
|
blockquote small {
|
||
|
display: inline-block;
|
||
|
margin: 0.8em 0 0.8em 1.5em;
|
||
|
font-size: 0.9em;
|
||
|
color: #ccc; }
|
||
|
blockquote small:before {
|
||
|
content: "\2014 \00A0"; }
|
||
|
blockquote cite {
|
||
|
font-weight: bold; }
|
||
|
blockquote cite a {
|
||
|
font-weight: normal; }
|
||
|
|
||
|
mark {
|
||
|
background-color: var(--sticky-menu-text-color);
|
||
|
filter: brightness(125%); }
|
||
|
|
||
|
code, tt {
|
||
|
color: var(--section-light-text-color);
|
||
|
background-color: var(--section-uni-code-bg-color);
|
||
|
border-radius: 3px;
|
||
|
font-family: Inconsolata, monospace, sans-serif;
|
||
|
font-size: 0.75em;
|
||
|
padding: 3px 5px; }
|
||
|
|
||
|
code {
|
||
|
color: var(--section-light-text-color);
|
||
|
background-color: var(--section-uni-code-bg-color);
|
||
|
border-radius: 3px;
|
||
|
font-family: Inconsolata, monospace, sans-serif;
|
||
|
font-size: 0.75em;
|
||
|
padding: 3px 5px; }
|
||
|
|
||
|
pre {
|
||
|
background: var(--section-light-text-color);
|
||
|
color: #e2e2e2;
|
||
|
border: 1px solid #343434;
|
||
|
border-radius: 3px;
|
||
|
box-sizing: border-box;
|
||
|
-moz-box-sizing: border-box;
|
||
|
font-family: Inconsolata, monospace, sans-serif;
|
||
|
font-size: 0.9em;
|
||
|
margin: 1.6em 0;
|
||
|
padding: 10px;
|
||
|
white-space: pre;
|
||
|
overflow-x: scroll;
|
||
|
width: 100%; }
|
||
|
pre code, pre tt {
|
||
|
color: inherit;
|
||
|
background: transparent;
|
||
|
font-size: inherit;
|
||
|
white-space: -moz-pre-wrap;
|
||
|
white-space: pre-wrap;
|
||
|
border: none;
|
||
|
padding: 0; }
|
||
|
|
||
|
kbd {
|
||
|
color: var(--section-light-text-color);
|
||
|
background: var(--section-uni-code-bg-color);
|
||
|
border: var(--section-light-text-color) 1px solid;
|
||
|
border-radius: 4px;
|
||
|
display: inline-block;
|
||
|
font-size: 0.9em;
|
||
|
font-weight: bold;
|
||
|
margin-bottom: 0.4em;
|
||
|
padding: 1px 8px;
|
||
|
text-shadow: #fff 0 1px 0;
|
||
|
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 0 #fff inset; }
|
||
|
|
||
|
/** ======== Tables ========= */
|
||
|
table {
|
||
|
-moz-box-sizing: border-box;
|
||
|
box-sizing: border-box;
|
||
|
border-spacing: 0;
|
||
|
margin: 1.6em 0;
|
||
|
width: 100%;
|
||
|
max-width: 100%;
|
||
|
background-color: transparent; }
|
||
|
table th,
|
||
|
table td {
|
||
|
padding: 8px;
|
||
|
line-height: 20px;
|
||
|
text-align: left;
|
||
|
vertical-align: top; }
|
||
|
table thead th,
|
||
|
table thead td {
|
||
|
border-bottom: 1px solid var(--color-text); }
|
||
|
table tbody > tr:nth-child(even) {
|
||
|
background-color: #fff5;
|
||
|
background-blend-mode: lighten; }
|
||
|
table.plain tbody > tr:nth-child(odd) > td, table.plain tbody > tr:nth-child(odd) > th {
|
||
|
background: transparent; }
|
||
|
|
||
|
/** ======== Github integration ========= */
|
||
|
.gist table {
|
||
|
margin: 0;
|
||
|
font-size: 1.4rem; }
|
||
|
|
||
|
.gist .line-number {
|
||
|
min-width: 25px;
|
||
|
font-size: 1.1rem; }
|
||
|
|
||
|
/* ==========================================================================
|
||
|
8. Media Queries - Smaller than 1130px
|
||
|
========================================================================== */
|
||
|
@media only screen and (max-width: 1130px) {
|
||
|
/* makes it a top sticky menu */
|
||
|
.fixed-nav {
|
||
|
opacity: 1;
|
||
|
position: fixed;
|
||
|
top: 0px;
|
||
|
left: 0px;
|
||
|
flex-wrap: wrap;
|
||
|
flex-direction: row;
|
||
|
width: 100vw;
|
||
|
z-index: 99999;
|
||
|
background: var(--color-background);
|
||
|
border-radius: 0;
|
||
|
text-align: center;
|
||
|
padding: 4px; }
|
||
|
a.fn-item {
|
||
|
display: inline;
|
||
|
margin-left: 10px; }
|
||
|
blockquote {
|
||
|
margin-left: 0; }
|
||
|
.post-holder {
|
||
|
padding-top: 20px; }
|
||
|
#site-head {
|
||
|
-webkit-box-sizing: border-box;
|
||
|
-moz-box-sizing: border-box;
|
||
|
box-sizing: border-box;
|
||
|
min-height: 240px;
|
||
|
padding: 15% 0;
|
||
|
height: 100%;
|
||
|
margin-bottom: 0rem; }
|
||
|
.blog-title {
|
||
|
font-size: 4rem;
|
||
|
letter-spacing: -1px; }
|
||
|
.blog-description {
|
||
|
font-size: 2.2rem;
|
||
|
line-height: 1.5em; }
|
||
|
.post {
|
||
|
font-size: 0.9em;
|
||
|
line-height: 1.6em; }
|
||
|
.post-template .post {
|
||
|
padding-bottom: 1rem; }
|
||
|
.post-template .post-header {
|
||
|
padding: 40px 0; }
|
||
|
h1 {
|
||
|
font-size: 4.8rem;
|
||
|
text-indent: -2px; }
|
||
|
h2 {
|
||
|
font-size: 3.8rem; }
|
||
|
h3 {
|
||
|
font-size: 3.3rem; }
|
||
|
h4 {
|
||
|
font-size: 2.8rem; } }
|
||
|
|
||
|
/* ==========================================================================
|
||
|
9. Media Queries - Smaller than 500px
|
||
|
========================================================================== */
|
||
|
@media only screen and (max-width: 500px) {
|
||
|
.fixed-nav {
|
||
|
display: none; }
|
||
|
.post-holder {
|
||
|
padding-top: 20px; }
|
||
|
#blog-logo img {
|
||
|
max-height: 80px; }
|
||
|
.inner,
|
||
|
.pagination {
|
||
|
width: auto;
|
||
|
margin-left: 16px;
|
||
|
margin-right: 16px; }
|
||
|
.post {
|
||
|
width: auto;
|
||
|
margin-left: 16px;
|
||
|
margin-right: 16px;
|
||
|
font-size: 0.8em;
|
||
|
line-height: 1.6em; }
|
||
|
#site-head {
|
||
|
padding: 10% 0;
|
||
|
height: 65%; }
|
||
|
#header-arrow {
|
||
|
display: none; }
|
||
|
a.btn {
|
||
|
margin-top: 10px; }
|
||
|
.blog-title {
|
||
|
font-size: 3rem; }
|
||
|
.blog-description {
|
||
|
font-size: 2.2rem; }
|
||
|
h1,
|
||
|
h2 {
|
||
|
font-size: 3rem;
|
||
|
line-height: 1.1em;
|
||
|
letter-spacing: -1px; }
|
||
|
h3 {
|
||
|
font-size: 2.8rem; }
|
||
|
h4 {
|
||
|
font-size: 2.3rem; }
|
||
|
.post-template .post {
|
||
|
padding-bottom: 0; }
|
||
|
.post-template .post-header {
|
||
|
padding: 30px 0; }
|
||
|
.site-footer {
|
||
|
font-size: 1.1rem; } }
|