Files
website/src/styles/global.css
2026-03-30 09:17:25 +13:00

238 lines
5.3 KiB
CSS

/*
The CSS in this style tag is based off of Bear Blog's default CSS.
https://github.com/HermanMartinus/bearblog/blob/297026a877bc2ab2b3bdfbd6b9f7961c350917dd/templates/styles/blog/default.css
License MIT: https://github.com/HermanMartinus/bearblog/blob/master/LICENSE.md
*/
:root {
--black: 15, 18, 25;
--gray-light: 229, 233, 240;
--gray-dark: 34, 41, 57;
--gray-gradient: rgba(var(--gray-light), 50%), #fff;
--yellow-light-theme: #f5c300;
--pink-light-theme: #a4036f;
--blue-light-theme: #048ba8;
--green-light-theme: #16DB93;
--text-color-light-theme: #101010;
--title-color-light-theme: var(--yellow-light-theme);
--link-color-light-theme: var(--blue-light-theme);
--background-light-theme: #cfffc0;
--header-light-theme: #f2f8ff;
--gray-light-theme: rgb(34, 41, 57);
--yellow-dark-theme: #f5c300;
--pink-dark-theme: #a4036f;
--blue-dark-theme: #048ba8;
--green-dark-theme: #16DB93;
--text-color-dark-theme: #fff7d8;
--title-color-dark-theme: var(--yellow-dark-theme);
--link-color-dark-theme: var(--blue-dark-theme);
--background-dark-theme: #202020;
--header-dark-theme: #151515;
--gray-dark-theme: rgb(229, 233, 240);
--accent: var(--green);
--accent-dark: var(--blue);
--gray: var(--gray-light-theme);
--box-shadow: 0 2px 6px rgba(var(--black), 25%), 0 8px 24px rgba(var(--black), 33%),
0 16px 32px rgba(var(--black), 33%);
--box-shadow-lighter: 0 2px 6px rgba(var(--black), 50%), 0 8px 24px rgba(var(--black), 20%);
}
:root[data-theme="light"] {
/* defaults to dark theme */
--yellow : var(--yellow-light-theme);
--pink : var(--pink-light-theme);
--blue : var(--blue-light-theme);
--green : var(--green-light-theme);
--text-color: var(--text-color-light-theme);
--title-color: var(--title-color-light-theme);
--link-color: var(--link-color-light-theme);
--background-colour : var(--background-light-theme);
--header-color: var(--header-light-theme);
--gray: var(--gray-light-theme);
--sky-colour : linear-gradient(#3f67b5, #6baadf, #b5d1e8);
--frame-colour : #c2c2c2;
--main-background-colour : #fffeab;
--footer-colour : #f1c27c;
--top-footer-colour : rgb(182, 139, 46);
}
:root[data-theme="dark"] {
/* defaults to dark theme */
--yellow : var(--yellow-dark-theme);
--pink : var(--pink-dark-theme);
--blue : var(--blue-dark-theme);
--green : var(--green-dark-theme);
--text-color: var(--text-color-dark-theme);
--title-color: var(--title-color-dark-theme);
--link-color: var(--link-color-dark-theme);
--background-colour : var(--background-dark-theme);
--header-color: var(--header-dark-theme);
--gray: var(--gray-dark-theme);
--sky-colour: linear-gradient(360deg,rgba(8, 0, 26, 1) 0%, rgba(7, 0, 20, 1) 37%, rgba(0, 0, 0, 1) 100%);
--frame-colour : #1a1a1e;
--main-background-colour : #3b3b3b;
--footer-colour : #535353;
--top-footer-colour : #5c5c5c;
}
@font-face {
font-family: "Atkinson";
src: url("/fonts/atkinson-regular.woff") format("woff");
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: "Atkinson";
src: url("/fonts/atkinson-bold.woff") format("woff");
font-weight: 700;
font-style: normal;
font-display: swap;
}
body {
font-family: "Atkinson", sans-serif;
margin: 0;
padding: 0;
text-align: left;
background-color: var(--background-colour);
/* background: linear-gradient(var(--gray-gradient)) no-repeat; */
background-size: 100% 600px;
word-wrap: break-word;
overflow-wrap: break-word;
color: rgb(var(--gray));
font-size: 20px;
line-height: 1.7;
}
main {
z-index: 4;
width: 720px;
max-width: calc(100% - 2em);
margin-left: auto;
margin-right: auto;
padding: 3em 1em;
background-color: var(--main-background-colour);
border-radius: 2em;
border-style: solid;
border-color: blanchedalmond;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0 0 0.5rem 0;
color: rgb(var(--header-color));
line-height: 1.2;
}
h1 {
font-size: 3.052em;
}
h2 {
font-size: 2.441em;
}
h3 {
font-size: 1.953em;
}
h4 {
font-size: 1.563em;
}
h5 {
font-size: 1.25em;
}
strong,
b {
font-weight: 700;
}
a {
color: var(--pink);
}
a:hover {
color: var(--pink);
}
p {
margin-bottom: 1em;
color: var(--text-color);
}
.prose p {
margin-bottom: 2em;
}
textarea {
width: 100%;
font-size: 16px;
}
input {
font-size: 16px;
}
table {
width: 100%;
}
img {
max-width: 100%;
height: auto;
border-radius: 8px;
}
code {
padding: 2px 5px;
background-color: rgb(var(--gray-light));
border-radius: 2px;
}
pre {
padding: 1.5em;
border-radius: 8px;
}
pre > code {
all: unset;
}
blockquote {
border-left: 4px solid var(--accent);
padding: 0 0 0 20px;
margin: 0;
font-size: 1.333em;
}
hr {
border: none;
border-top: 1px solid rgb(var(--gray-light));
}
@media (max-width: 720px) {
body {
font-size: 18px;
}
main {
padding: 1em;
}
}
.katex-html {
display: none;
}
.sr-only {
border: 0;
padding: 0;
margin: 0;
position: absolute !important;
height: 1px;
width: 1px;
overflow: hidden;
/* IE6, IE7 - a 0 height clip, off to the bottom right of the visible 1px box */
clip: rect(1px 1px 1px 1px);
/* maybe deprecated but we need to support legacy browsers */
clip: rect(1px, 1px, 1px, 1px);
/* modern browsers, clip-path works inwards from each corner */
clip-path: inset(50%);
/* added line to stop words getting smushed together (as they go onto separate lines and some screen readers do not understand line feeds as a space */
white-space: nowrap;
}