2021-05-31 03:20:23 +02:00
|
|
|
/* Base CSS */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This CSS file contains (for me) logical style defaults that are easy to read.
|
|
|
|
*
|
|
|
|
* This file is quite often used as a starting point for other projects.
|
|
|
|
*
|
|
|
|
* Todo:
|
|
|
|
* <button>
|
|
|
|
* <inputs>
|
|
|
|
* <progress>
|
|
|
|
* <meter>
|
|
|
|
*/
|
|
|
|
|
|
|
|
:root {
|
2021-06-20 02:53:51 +02:00
|
|
|
--bg-main: hsl(206, 87%, 67%);
|
2021-06-14 00:34:38 +02:00
|
|
|
/* --bg-bright: #57b43f; */
|
|
|
|
--bg-bright: #7ac767;
|
2021-05-31 03:20:23 +02:00
|
|
|
--bg-alt: #3F57B4;
|
|
|
|
--bg-transcluscent-slight: rgba(255, 255, 255, 0.1);
|
2021-06-14 00:34:38 +02:00
|
|
|
--bg-transcluscent: rgba(255, 255, 255, 0.85);
|
|
|
|
--bg-transcluscent-alt: hsla(226, 59%, 38%, 0.8);
|
2021-06-20 02:51:55 +02:00
|
|
|
--bg-transcluscent-alt-slight: hsla(196, 91%, 62%, 0.23);
|
2021-05-31 03:20:23 +02:00
|
|
|
|
2021-06-14 00:34:38 +02:00
|
|
|
/* --text-main: #3F57B4; */
|
|
|
|
--text-main: hsl(227, 70%, 35%);
|
2021-05-31 03:20:23 +02:00
|
|
|
--text-bright: #efefef;
|
|
|
|
--text-alt: #38871e;
|
|
|
|
|
2021-06-07 02:28:11 +02:00
|
|
|
--shadow: hsla(0, 0%, 25%, 0.25);
|
2021-06-14 00:34:38 +02:00
|
|
|
--shadow-dark: hsla(0, 0%, 25%, 0.5);
|
2021-06-07 02:28:11 +02:00
|
|
|
|
2021-05-31 03:20:23 +02:00
|
|
|
--highlight: hsl(353, 100%, 36%);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* rem is relative to the html element, and em is relative to the current element. */
|
2021-06-14 03:25:45 +02:00
|
|
|
html { font-size: 100%; scroll-behavior: smooth; }
|
2021-05-31 03:20:23 +02:00
|
|
|
|
|
|
|
body
|
|
|
|
{
|
|
|
|
margin: 0;
|
|
|
|
font-family: sans-serif; /* Serif is awful :( */
|
|
|
|
|
2021-06-14 03:25:45 +02:00
|
|
|
background: url('{% image_urlpass "images/clouds.png" %}') center / cover fixed,
|
2021-06-14 02:36:13 +02:00
|
|
|
var(--bg-main); /* Don't forget to update the @page one too for paged media */
|
2021-05-31 03:20:23 +02:00
|
|
|
color: var(--text-main);
|
|
|
|
}
|
|
|
|
|
|
|
|
title { string-set: page-title content(text); }
|
|
|
|
|
|
|
|
/* Special tweaks for paged media (e.g. PDFs) */
|
|
|
|
@page {
|
|
|
|
font-family: sans-serif;
|
|
|
|
background: var(--bg-main); /* Set the background colour to cover the whole page */
|
|
|
|
|
|
|
|
@top-right {
|
|
|
|
content: "By Starbeamrainbowlabs";
|
|
|
|
opacity: 0.6;
|
|
|
|
}
|
|
|
|
@bottom-right {
|
|
|
|
content: "Page " counter(page) " of " counter(pages);
|
|
|
|
opacity: 0.6;
|
|
|
|
}
|
|
|
|
}
|
2021-06-14 00:34:38 +02:00
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
|
|
text-align: center;
|
2021-06-20 02:51:55 +02:00
|
|
|
word-wrap: break-word;
|
|
|
|
}
|
|
|
|
.linked-section-heading {
|
|
|
|
display: flex;
|
|
|
|
}
|
|
|
|
.linked-section-heading > a.section-link {
|
|
|
|
opacity: 0.75;
|
|
|
|
text-decoration: none;
|
|
|
|
transition: 0.25s opacity;
|
|
|
|
}
|
|
|
|
.linked-section-heading > a.section-link:hover {
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
.linked-section-heading > span {
|
|
|
|
flex: 1;
|
|
|
|
word-wrap: anywhere;
|
2021-06-14 00:34:38 +02:00
|
|
|
}
|
2021-05-31 03:20:23 +02:00
|
|
|
|
|
|
|
nav {
|
|
|
|
background: var(--bg-bright);
|
|
|
|
display: flex;
|
|
|
|
align-items: baseline;
|
|
|
|
font-size: 1.1em;
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
nav h1 {
|
2021-06-20 23:55:28 +02:00
|
|
|
background: var(--text-bright);
|
2021-05-31 03:20:23 +02:00
|
|
|
margin: 0;
|
2021-06-20 23:55:28 +02:00
|
|
|
padding: 0.2em 0.5em 0.2em 0.2em;
|
2021-05-31 03:20:23 +02:00
|
|
|
font-size: 1.2em;
|
2021-06-20 23:55:28 +02:00
|
|
|
color: var(--bg-alt);
|
2021-05-31 03:20:23 +02:00
|
|
|
}
|
|
|
|
nav ul {
|
|
|
|
flex: 1;
|
|
|
|
list-style-type: none;
|
|
|
|
margin: 0; padding: 0;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-evenly;
|
2021-06-21 02:12:18 +02:00
|
|
|
align-items: center;
|
2021-05-31 03:20:23 +02:00
|
|
|
}
|
2021-06-21 01:52:29 +02:00
|
|
|
nav > ul a {
|
2021-06-14 03:25:45 +02:00
|
|
|
background: var(--bg-transcluscent-slight);
|
2021-05-31 03:20:23 +02:00
|
|
|
display: inline-block;
|
2021-06-21 17:14:16 +02:00
|
|
|
padding: 1.45em 2em;
|
2021-05-31 03:20:23 +02:00
|
|
|
text-decoration: none;
|
|
|
|
font-weight: bold;
|
2021-06-14 00:34:38 +02:00
|
|
|
color: var(--text-main);
|
2021-05-31 03:20:23 +02:00
|
|
|
}
|
2021-06-19 19:27:02 +02:00
|
|
|
nav li[aria-current=page] a {
|
2021-06-21 17:14:16 +02:00
|
|
|
color: var(--bg-bright);
|
|
|
|
background: var(--text-main);
|
2021-06-19 19:27:02 +02:00
|
|
|
}
|
|
|
|
|
2021-06-14 03:25:45 +02:00
|
|
|
nav a.image {
|
|
|
|
padding: 0.75em 1em 0.5em 1em;
|
|
|
|
}
|
|
|
|
nav img { max-height: 2em; }
|
2021-05-31 03:20:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
/* A small tweak to things more responsive */
|
|
|
|
iframe, object, embed, img, table
|
|
|
|
{
|
|
|
|
max-width: 100%;
|
|
|
|
}
|
2021-05-31 22:06:17 +02:00
|
|
|
picture img { height: initial; }
|
2021-05-31 03:20:23 +02:00
|
|
|
|
|
|
|
/* Turn the user's cursor into a hand when over things they can click */
|
|
|
|
button, summary
|
|
|
|
{
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
|
|
|
|
th, td
|
|
|
|
{
|
|
|
|
margin: 4px 6px;
|
|
|
|
padding: 4px 6px;
|
|
|
|
}
|
|
|
|
|
|
|
|
a { font-weight: bold; }
|
|
|
|
/* a:not(.nav) { color: hsl(208, 67%, 40%); }
|
|
|
|
a:not(.nav):hover { color: hsl(214, 67%, 50%); }
|
|
|
|
a:not(.nav):active, a:focus { color: hsl(214, 87%, 60%); } */
|
2021-06-07 02:28:11 +02:00
|
|
|
a:not(.nav):not(.bigbutton):visited { color: hsl(240, 77%, 60%); }
|
2021-05-31 03:20:23 +02:00
|
|
|
|
2021-06-14 00:34:38 +02:00
|
|
|
pre {
|
|
|
|
page-break-inside: avoid;
|
|
|
|
break-inside: avoid;
|
2021-06-20 02:51:55 +02:00
|
|
|
padding: 0.6em;
|
2021-06-14 00:34:38 +02:00
|
|
|
border: 0.2em solid var(--bg-transcluscent-alt);
|
2021-06-20 02:51:55 +02:00
|
|
|
border-radius: 0.25em;
|
2021-06-14 00:34:38 +02:00
|
|
|
background: var(--bg-transcluscent-alt);
|
|
|
|
box-shadow: inset 0 0 0.5em 0.1em var(--shadow-dark);
|
|
|
|
line-height: 1.75em;
|
|
|
|
color: var(--text-bright);
|
|
|
|
}
|
2021-05-31 03:20:23 +02:00
|
|
|
pre, code {
|
2021-06-14 00:34:38 +02:00
|
|
|
text-align: left;
|
|
|
|
font-size: 1rem;
|
2021-06-20 02:51:55 +02:00
|
|
|
font-family: "Source Code Pro", "Ubuntu Mono", monospace;
|
2021-05-31 03:20:23 +02:00
|
|
|
white-space: pre-wrap;
|
|
|
|
-moz-tab-size: 4;
|
|
|
|
tab-size: 4;
|
|
|
|
}
|
2021-06-20 02:51:55 +02:00
|
|
|
pre > code { background: transparent; padding: 0; }
|
|
|
|
code {
|
|
|
|
background: var(--bg-transcluscent-alt-slight);
|
|
|
|
border-radius: 0.25em;
|
|
|
|
padding: 0.15em;
|
|
|
|
}
|
|
|
|
|
|
|
|
label {
|
|
|
|
font-weight: bold;
|
|
|
|
cursor: pointer;
|
|
|
|
padding: 0.25em 0.45em;
|
|
|
|
}
|
2021-05-31 03:20:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
/* todo add the rest of the textbox like inputs here */
|
|
|
|
input[type=text], input[type=number], textarea
|
|
|
|
{
|
|
|
|
margin: 3px 5px;
|
|
|
|
padding: 5px 8px;
|
|
|
|
|
|
|
|
background: var(--bg-bright);
|
|
|
|
border: 0;
|
|
|
|
border-radius: 5px;
|
|
|
|
}
|
|
|
|
|
2021-06-20 02:51:55 +02:00
|
|
|
.form-item {
|
|
|
|
display: flex;
|
|
|
|
margin: 0.5em 0;
|
|
|
|
}
|
|
|
|
.form-item.checkbox:not(.centre) > label { flex: 1; }
|
|
|
|
.form-item:not(.checkbox):not(.centre) > input { flex: 1; }
|
|
|
|
.form-item.centre { justify-content: center; }
|
|
|
|
.bigsearch {
|
|
|
|
flex-direction: row;
|
|
|
|
}
|
|
|
|
.bigsearch > input[type=search] {
|
|
|
|
width: 100%;
|
|
|
|
box-sizing: border-box;
|
|
|
|
}
|
|
|
|
|
2021-06-07 00:39:00 +02:00
|
|
|
footer {
|
|
|
|
margin: 3em 0 0 0;
|
|
|
|
padding: 1em;
|
|
|
|
text-align: center;
|
2021-06-20 23:16:27 +02:00
|
|
|
background: var(--pattern-jigsaw-green),
|
|
|
|
var(--bg-bright);
|
2021-06-14 00:34:38 +02:00
|
|
|
/* color: var(--text-bright); */
|
2021-06-07 00:39:00 +02:00
|
|
|
}
|
|
|
|
|
2021-05-31 03:20:23 +02:00
|
|
|
.text-left { text-align: left; }
|
|
|
|
.text-centre { text-align: center; }
|
|
|
|
.text-right { text-align: right; }
|
|
|
|
|
|
|
|
.invisilink { text-decoration: none; color: inherit; }
|
|
|
|
.invisilist { list-style-type: none; margin: 5px; padding: 5px; }
|
|
|
|
|
|
|
|
.icon { vertical-align: middle; }
|
|
|
|
.icon.tiny { max-width: 1em; max-height: 1em; }
|
|
|
|
.icon.small { max-width: 1.25em; max-height: 1.25em; }
|
|
|
|
.icon.medium { max-width: 2em; max-height: 2em; }
|
|
|
|
.icon.large { max-width: 5em; max-height: 5em; }
|
2021-06-20 23:55:28 +02:00
|
|
|
.icon.logo {
|
|
|
|
max-width: 3em;
|
|
|
|
max-height: 3em;
|
|
|
|
}
|
|
|
|
.icon.logo-large {
|
|
|
|
max-width: 8em;
|
|
|
|
max-height: 8em;
|
|
|
|
}
|
2021-05-31 03:20:23 +02:00
|
|
|
|
2021-06-14 02:36:13 +02:00
|
|
|
.shadow-top { box-shadow: 0 -0.25em 0.5em var(--shadow); }
|
|
|
|
.shadow-bottom { box-shadow: 0 0.25em 0.5em var(--shadow); }
|
|
|
|
.shadow-vertical{ box-shadow: 0 0 0.5em 0.25em var(--shadow); }
|
|
|
|
.shadow-text { text-shadow: 0.15em 0.15em 0.15em var(--shadow); }
|
2021-05-31 03:20:23 +02:00
|
|
|
|
2021-06-20 02:51:55 +02:00
|
|
|
.hidden { display: none; }
|
|
|
|
|
2021-05-31 03:20:23 +02:00
|
|
|
.bigbox {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
align-items: center; justify-content: center;
|
2021-06-21 02:12:18 +02:00
|
|
|
text-align: center; /* If any text wraps in a <p>, then this makes sure it's still centred */
|
2021-05-31 03:20:23 +02:00
|
|
|
background: content-box linear-gradient(var(--bg-transcluscent), var(--bg-transcluscent)),
|
|
|
|
var(--bg) center / cover;
|
2021-06-20 23:16:27 +02:00
|
|
|
|
2021-06-21 17:23:35 +02:00
|
|
|
height: max(30em, 80vh);
|
2021-05-31 03:20:23 +02:00
|
|
|
padding: 0 5em 0 5em;
|
|
|
|
box-sizing: border-box;
|
|
|
|
}
|
|
|
|
.bigbox h1 {
|
2021-06-13 23:37:07 +02:00
|
|
|
margin: 0;
|
2021-05-31 03:20:23 +02:00
|
|
|
font-size: 3em;
|
2021-06-20 23:55:28 +02:00
|
|
|
/* color: var(--text-alt); */
|
|
|
|
color: var(--bg-alt);
|
2021-05-31 03:20:23 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.features-large {
|
|
|
|
margin: 3em 0;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: row;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
justify-content: space-evenly;
|
|
|
|
}
|
2021-06-14 00:34:38 +02:00
|
|
|
.features-large > :where(figure, .features-item) {
|
2021-05-31 03:20:23 +02:00
|
|
|
background: var(--bg-transcluscent);
|
2021-06-20 23:16:27 +02:00
|
|
|
background-image: var(--pattern-bricks);
|
2021-06-21 02:12:18 +02:00
|
|
|
margin: 1em 0.1em;
|
2021-05-31 03:20:23 +02:00
|
|
|
padding: 1em;
|
|
|
|
max-width: 15em;
|
2021-06-14 02:36:13 +02:00
|
|
|
box-shadow: 0.25em 0.25em 0.5em var(--shadow);
|
2021-05-31 03:20:23 +02:00
|
|
|
}
|
2021-06-14 00:34:38 +02:00
|
|
|
.features-item.wide {
|
|
|
|
flex: 1;
|
|
|
|
max-width: initial;
|
2021-06-21 17:23:35 +02:00
|
|
|
margin: 0.5em 2em;
|
2021-06-14 00:34:38 +02:00
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
justify-content: flex-start;
|
|
|
|
}
|
2021-06-14 03:25:45 +02:00
|
|
|
/* .features-item.wide > :last-child {
|
2021-06-14 00:34:38 +02:00
|
|
|
flex: 1;
|
|
|
|
display: flex;
|
|
|
|
justify-content: flex-end;
|
|
|
|
flex-direction: column;
|
|
|
|
align-items: center;
|
2021-06-14 03:25:45 +02:00
|
|
|
} */
|
|
|
|
|
|
|
|
.panel-generic {
|
|
|
|
background: var(--bg-transcluscent);
|
2021-06-20 23:16:27 +02:00
|
|
|
background-image: var(--pattern-bricks);
|
2021-06-14 03:25:45 +02:00
|
|
|
margin: 2em;
|
|
|
|
padding: 1em;
|
|
|
|
box-shadow: 0.25em 0.25em 0.5em var(--shadow);
|
2021-06-14 00:34:38 +02:00
|
|
|
}
|
2021-05-31 22:06:17 +02:00
|
|
|
|
2021-06-14 03:25:45 +02:00
|
|
|
.bigbutton-list {
|
|
|
|
list-style-type: none;
|
|
|
|
margin: 0;
|
|
|
|
padding: 1em 0;
|
2021-05-31 22:06:17 +02:00
|
|
|
display: flex;
|
2021-06-14 03:25:45 +02:00
|
|
|
justify-content: space-around;
|
2021-06-21 02:12:18 +02:00
|
|
|
flex-wrap: wrap;
|
2021-05-31 22:06:17 +02:00
|
|
|
}
|
2021-06-07 02:28:11 +02:00
|
|
|
|
|
|
|
.bigbutton {
|
|
|
|
display: inline-block;
|
|
|
|
|
2021-06-21 02:12:18 +02:00
|
|
|
margin: 0.25em 0;
|
2021-06-07 02:28:11 +02:00
|
|
|
padding: 0.35em 0.45em;
|
|
|
|
border: 0;
|
|
|
|
border-radius: 0.25em;
|
|
|
|
|
|
|
|
background: var(--bg-alt);
|
|
|
|
|
|
|
|
color: var(--text-bright);
|
|
|
|
font-size: 1.25em;
|
|
|
|
text-decoration: none;
|
|
|
|
text-align: center;
|
|
|
|
|
|
|
|
box-shadow: 0 0 0.5em var(--shadow);
|
|
|
|
|
|
|
|
cursor: pointer;
|
|
|
|
transition: box-shadow 0.25s, transform 0.25s;
|
|
|
|
}
|
|
|
|
.bigbutton:hover {
|
|
|
|
box-shadow: 0 0.25em 0.65em var(--shadow);
|
|
|
|
transform: translateY(-0.25em);
|
|
|
|
}
|
|
|
|
.bigbutton:active {
|
|
|
|
box-shadow: 0 0 0.25em var(--shadow);
|
|
|
|
transform: translateY(0.1em);
|
|
|
|
}
|
|
|
|
.bigbutton.disabled {
|
|
|
|
filter: saturate(25%);
|
|
|
|
opacity: 0.75;
|
|
|
|
cursor: default;
|
|
|
|
}
|
2021-06-09 01:34:25 +02:00
|
|
|
|
|
|
|
.gallerybox {
|
2021-06-20 23:16:27 +02:00
|
|
|
background: var(--pattern-hex), var(--bg-transcluscent);
|
2021-06-09 01:34:25 +02:00
|
|
|
}
|
2021-06-20 02:51:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
.command-list {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
list-style-type: none;
|
|
|
|
word-wrap: anywhere;
|
|
|
|
}
|
|
|
|
.command-list > li > a {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
.command-list code {
|
|
|
|
display: block;
|
|
|
|
padding: 0.5em;
|
|
|
|
box-sizing: border-box;
|
|
|
|
margin: 0.5em;
|
|
|
|
}
|
2021-06-20 22:48:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
.contributor-list {
|
|
|
|
list-style-type: none;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
}
|
|
|
|
.contributor-list li {
|
|
|
|
padding: 0.5em;
|
|
|
|
}
|
|
|
|
.contributor-list a {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
align-items: center;
|
|
|
|
}
|