fediland.github.io/css/template.css

297 lines
5.4 KiB
CSS

* {
font: inherit;
margin: 0;
padding: 0;
}
img {
max-width: 100%;
height: auto;
}
a img {
border: none;
}
a {
color: inherit;
text-decoration: none;
}
b,
strong,
th {
font-weight: bold;
}
i,
em {
font-style: italic;
}
sub,
sup {
font-size: smaller;
}
html {
--primary-bg: #fff;
--primary-fg: #000;
--accent-color: #0083d6;
--accent-alt-color: #fff;
--info-bg: #e3f8ff;
--info-fg: #000;
--info-border: #c1d5dc;
--heading-decor: #aaa;
--link-color: #05588c;
background: var(--primary-bg);
color: var(--primary-fg);
font: 18px / 1.3 "Noto Sans", "Roboto", "Liberation Sans", sans-serif;
}
@media all and (min-width: 1100px) {
html {
font-size: 20px;
}
}
@media all and (prefers-color-scheme: dark) {
html {
--primary-bg: #333;
--primary-fg: #fff;
--accent-color: #ffdb86;
--accent-alt-color: #000;
--info-bg: #524f4c;
--info-fg: #fff;
--info-border: #727272;
--heading-decor: #aaa;
--link-color: #ffdb86;
}
}
body {
box-sizing: border-box;
min-width: 320px;
max-width: 60rem;
margin: 0 auto;
padding: 1em .75em 1em .75em;
}
/* Hide on print. */
@media print {
.hide-on-print { display: none !important; }
}
/* headings */
h2 {
font-size: 1.2em;
font-weight: bold;
padding-bottom: .25em;
border-bottom: 1px dashed var(--heading-decor);
}
h3 {
font-size: 1.1em;
font-weight: bold;
}
h2:not(:first-child),
h3:not(:first-child) {
margin-top: 1em;
}
/* header */
.top {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: .5em;
}
@media all and (max-width: 600px) {
.top {
flex-direction: column;
}
}
.top-name {
font-weight: bold;
font-size: 1.2em;
}
.top-name-p1 {
display: inline-block;
padding: .25em .5em;
color: var(--accent-alt-color);
background: var(--accent-color);
border: 1px solid var(--accent-color);
border-right: none;
}
.top-name-p2 {
display: inline-block;
padding: .25em .5em;
color: var(--accent-color);
background: var(--accent-alt-color);
border: 1px solid var(--accent-color);
border-left: none;
}
.top-slogan {
font-style: italic;
}
/* content */
.main-body {
margin-top: 1em;
}
.content a:not([class]),
.content a.default {
color: var(--link-color);
text-decoration: underline;
}
.content p:not(:first-child),
.content ul:not(:first-child),
.content ol:not(:first-child),
.content details:not(:first-child) {
margin-top: 1em;
}
.content ul > li,
.content ol > li {
margin-left: 1em;
}
.content ul > li:not(:first-child),
.content ol > li:not(:first-child) {
margin-top: .2em;
}
/* random server */
@media all and (min-width: 1100px) {
.random-server-result {
font-size: 1.2em;
}
}
.random-server-button {
box-sizing: border-box;
display: inline-block;
border: none;
padding: .25em .5em;
color: var(--accent-alt-color);
background: var(--accent-color);
}
@media all and (max-width: 600px) {
.random-server-button {
width: 100%;
}
}
.random-server {
padding: 1em;
background: var(--info-bg);
color: var(--info-fg);
border: 1px solid var(--info-border);
}
/* tabs */
.tabs:not(:first-child),
.tabs-panel:not(:first-child) {
margin-top: 1em;
}
.tabs-controls {
text-align: center;
}
.tabs-controls-button {
border: 1px solid var(--accent-color);
background: var(--primary-bg);
color: var(--primary-fg);
padding: .5em;
cursor: pointer;
}
.tabs-controls-button:not(:first-child) {
border-left: none;
}
.tabs-controls-button[aria-selected="true"] {
background-color: var(--accent-color);
color: var(--accent-alt-color);
}
.tabs-controls-button:focus-visible {
outline: none;
text-decoration: underline;
}
.tabs-panel {
position: relative;
}
/* simple info */
.simple-button {
width: 1.5em;
height: 1.5em;
text-align: center;
border: 1px solid var(--accent-color);
background: var(--primary-bg);
color: var(--primary-fg);
cursor: pointer;
}
.simple-button.active {
background-color: var(--accent-color);
color: var(--accent-alt-color);
}
.simple-button:focus-visible {
outline: none;
text-decoration: underline;
}
.simple-title {
box-sizing: border-box;
background: var(--accent-color);
color: var(--accent-alt-color);
box-shadow: 1px 1px 1px 0 rgba(0,0,0,.2);
}
.simple-title-link {
display: inline-block;
padding: .5em;
}
.simple-title-link:hover,
.simple-title-link:focus {
text-decoration: underline;
}
@media all and (min-width: 600px) {
.simple-title {
position: absolute;
z-index: 1;
top: 1em;
left: 1em;
max-width: calc(100% - 2em);
}
.simple-description {
box-sizing: border-box;
position: absolute;
left: 0;
bottom: 0;
background: var(--primary-bg);
color: var(--primary-fg);
padding: .5em 1em;
border-top: 1px solid var(--accent-color);
width: 100%;
opacity: .95;
}
.simple-buttons {
position: absolute;
z-index: 1;
right: 1em;
top: 1em;
width: calc(1.5em + 2px);
}
.simple-button:not(:first-child) {
border-top: none;
}
}
@media not all and (min-width: 600px) {
.simple-description:not(:first-child),
.simple-image:not(:first-child) {
margin-top: 1em;
}
.simple-buttons {
position: absolute;
z-index: 1;
left: 50%;
bottom: 1em;
transform: translateX(-50%);
}
.simple-button:not(:first-child) {
border-left: none;
}
}
/* footer */
.main-footer {
margin-top: 2em;
border-top: 1px dashed var(--accent-color);
padding-top: 1em;
}
.main-footer p:not(:first-child) {
margin-top: 1em;
}
.main-footer a {
color: var(--link-color);
text-decoration: underline;
}
.page-source-link {
color: var(--link-color);
text-decoration: underline;
}