PoorBooru/public/css/style.css

202 lines
3.0 KiB
CSS

/*
* PoorBooru - Poorman's booru
*
* Written in 2023 by Lucas
*
* To the extent possible under law, the author(s) have dedicated all
* copyright and related and neighboring rights to this software to the
* public domain worldwide. This software is distributed without any
* warranty.
*
* You should have received a copy of the CC0 Public Domain Dedication
* along with this software. If not, see
* <http://creativecommons.org/publicdomain/zero/1.0/>.
*/
/*
* Some parts copied from https://piccalil.li/blog/a-modern-css-reset/
*/
:root {
--dark-theme-bg: #0c0700;
--dark-theme-text: #fff8f0;
--dark-theme-accent: #ec57bc;
--dark-theme-accent-hover: #f7be00;
--light-theme-bg: #fff8f0;
--light-theme-text: #0c0700;
--light-theme-accent: #dc3a23;
--light-theme-accent-hover: #4997ce;
--bg: var(--dark-theme-bg);
--text: var(--dark-theme-text);
--accent: var(--dark-theme-accent);
--accent-hover: var(--dark-theme-accent-hover);
}
*,
*::before,
*::after {
box-sizing: border-box;
}
dd,
dl,
dt,
h1,
h2,
p {
margin: 0;
}
body {
margin: 0 auto;
min-height: 100vh;
background-color: var(--bg);
color: var(--text);
font-family: monospace;
font-size: 1.25rem;
line-height: 2.4;
}
body > header {
border-bottom: 0.0625rem solid var(--accent);
margin-bottom: 0.1875rem;
}
body > main {
padding-top: 1.5rem;
border-top: 0.0625rem solid var(--accent);
border-bottom: 0.0625rem solid var(--accent);
}
body > footer {
border-top: 0.0625rem solid var(--accent);
margin-top: 0.1875rem;
}
dl,
h1,
h2,
p {
margin-bottom: 1.5rem;
}
footer > p {
margin-bottom: 0;
}
h1 {
text-align: center;
font-size: 3rem;
line-height: 2;
}
h2 {
font-size: 2.5rem;
line-height: 1.2;
}
a,
a:link,
a:visited {
color: var(--accent);
}
a:hover,
a:active {
color: var(--accent-hover);
}
img {
max-width: 100%;
height: auto;
}
dt {
font-weight: bold;
}
dd {
margin-left: 3rem;
}
.viewport {
margin-left: auto;
margin-right: auto;
width: 60rem;
}
.border-top {
border-top: 0.0625rem solid var(--accent);
}
.border-bottom {
border-bottom: 0.0625rem solid var(--accent);
}
.text-center {
text-align: center;
}
.text-small {
font-size: 1rem;
line-height: 3;
}
.main-nav {
gap: 0 1rem;
}
.main-nav > a {
font-weight: bold;
text-decoration: none;
}
/* 0.5rem padding compensates the unused 1rem gap at the end. */
.gallery {
align-items: center;
gap: 1rem;
padding: 0 0.5rem;
}
.gallery > a,
.gallery > a:link,
.gallery > a:visited {
line-height: 0;
max-height: 24rem;
max-width: 14rem;
outline-offset: 0.1875rem;
outline: 0.0625rem solid;
outline-color: var(--accent);
}
.gallery > a:hover,
.gallery > a:active {
outline-color: var(--accent-hover);
}
.flex-c-horizontal {
display: flex;
}
.flex-c-vertical {
display: flex;
flex-direction: column;
}
.flex-c-center {
display: flex;
justify-content: center;
align-items: center;
}
.flex-c-wrap {
flex-wrap: wrap;
}
.flex-i-fullsize {
flex: auto;
}