Files
wiki/local.css
2025-10-18 10:58:45 +02:00

1127 lines
19 KiB
CSS

/* hackade.org CSS inspired by Sourcehut style */
:root {
--blue: #007bff;
--indigo: #6610f2;
--purple: #6f42c1;
--pink: #e83e8c;
--red: #dc3545;
--orange: #fd7e14;
--yellow: #ffc107;
--green: #28a745;
--teal: #20c997;
--cyan: #17a2b8;
--white: #fff;
--gray: #6c757d;
--gray-dark: #343a40;
--primary: #007bff;
--secondary: #6c757d;
--success: #28a745;
--info: #17a2b8;
--warning: #ffc107;
--danger: #dc3545;
--light: #f8f9fa;
--dark: #343a40;
--breakpoint-xs: 0;
--breakpoint-sm: 576px;
--breakpoint-md: 768px;
--breakpoint-lg: 992px;
--breakpoint-xl: 1200px;
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol";
--font-family-monospace: monospace;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
@-ms-viewport {
width: device-width;
}
footer,
header,
nav {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, segoe ui, Roboto,
helvetica neue, Arial, sans-serif, apple color emoji, segoe ui emoji,
segoe ui symbol;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 0;
margin-bottom: 0.5rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
blockquote {
margin: 0 0 1rem;
}
strong {
font-weight: bolder;
}
a {
color: #0242f2;
text-decoration: none;
background-color: initial;
-webkit-text-decoration-skip: objects;
}
a:hover {
color: #0056b3;
text-decoration: underline;
}
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):hover,
a:not([href]):not([tabindex]):focus {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
outline: 0;
}
pre,
code {
font-family: monospace;
font-size: 1em;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
-ms-overflow-style: scrollbar;
}
img {
vertical-align: middle;
border-style: none;
}
svg:not(:root) {
overflow: hidden;
}
table {
border-collapse: collapse;
}
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #6c757d;
text-align: left;
caption-side: bottom;
}
th {
text-align: inherit;
}
progress {
vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
p code {
font-size: 87.5%;
word-break: break-word;
background: #e9ecef;
padding: 0.25rem;
}
a > code {
color: inherit;
}
pre code {
display: block;
font-size: 87.5%;
color: #212529;
}
pre.hl {
background: #e9ecef;
padding: 0.25rem;
font-size: 87.5%;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
margin-bottom: 0.5rem;
font-family: inherit;
font-weight: 500;
line-height: 1.2;
color: inherit;
}
h1,
.h1 {
font-size: 2.5rem;
}
h2,
.h2 {
font-size: 2rem;
}
h3,
.h3 {
font-size: 1.75rem;
}
h4,
.h4 {
font-size: 1.5rem;
}
h5,
.h5 {
font-size: 1.25rem;
}
h6,
.h6 {
font-size: 1rem;
}
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.blockquote {
margin-bottom: 1rem;
font-size: 1.25rem;
}
.container {
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 576px) {
.container {
max-width: 540px;
}
}
@media (min-width: 768px) {
.container {
max-width: 720px;
}
}
@media (min-width: 992px) {
.container {
max-width: 960px;
}
}
@media (min-width: 1200px) {
.container {
max-width: 1140px;
}
}
.table,
.markdown table {
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
background-color: initial;
}
.table th,
.markdown table th,
.table td,
.markdown table td {
padding: 0.75rem;
vertical-align: top;
border-top: 1px solid #dee2e6;
}
.table thead th,
.markdown table thead th {
vertical-align: bottom;
border-bottom: 2px solid #dee2e6;
}
.table tbody + tbody,
.markdown table tbody + tbody {
border-top: 2px solid #dee2e6;
}
.table .table,
.markdown table .table,
.table .markdown table,
.markdown .table table,
.markdown table table {
background-color: #fff;
}
@keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
}
to {
background-position: 0 0;
}
}
.progress {
display: flex;
/* height: 1rem; */
overflow: hidden;
font-size: 0.75rem;
background-color: #e9ecef;
border-radius: 0.25rem;
}
.nav {
display: flex;
flex-wrap: wrap;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
.nav-link {
display: block;
padding: 0.5rem 1rem;
}
.nav-link:hover,
.nav-link:focus {
text-decoration: none;
}
.nav-tabs {
border-bottom: 1px solid #dee2e6;
}
.nav-tabs .nav-item {
margin-bottom: -1px;
}
.nav-tabs .nav-link {
border: 1px solid transparent;
border-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem;
}
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
border-color: #e9ecef #e9ecef #dee2e6;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
color: #495057;
background-color: #fff;
border-color: #dee2e6 #dee2e6 #fff;
}
.navbar {
position: relative;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
padding: 0.5rem 1rem;
}
.navbar > .container {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
}
.navbar-brand {
display: inline-block;
padding-top: 0.3125rem;
padding-bottom: 0.3125rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
white-space: nowrap;
}
.navbar-brand:hover,
.navbar-brand:focus {
text-decoration: none;
}
.navbar-nav {
display: flex;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
.navbar-nav .nav-link {
padding-right: 0;
padding-left: 0;
}
@media (max-width: 575.98px) {
.navbar-expand-sm > .container {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 576px) {
.navbar-expand-sm {
flex-flow: row nowrap;
justify-content: flex-start;
}
.navbar-expand-sm .navbar-nav {
flex-direction: row;
}
.navbar-expand-sm .navbar-nav .nav-link {
padding-right: 0.5rem;
padding-left: 0.5rem;
}
.navbar-expand-sm > .container {
flex-wrap: nowrap;
}
}
.navbar-light .navbar-brand {
color: #000;
}
.navbar-light .navbar-brand:hover,
.navbar-light .navbar-brand:focus {
color: #000;
}
.navbar-light .navbar-nav .nav-link {
color: dimgray;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
color: rgba(0, 0, 0, 0.7);
}
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
color: #000;
}
.alert {
position: relative;
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
}
@media print {
*,
*::before,
*::after {
text-shadow: none !important;
box-shadow: none !important;
}
a:not(.btn) {
text-decoration: underline;
}
pre {
white-space: pre-wrap !important;
}
pre,
blockquote {
border: 1px solid #adb5bd;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
@page {
size: a3;
}
body {
min-width: 992px !important;
}
.container {
min-width: 992px !important;
}
.navbar {
display: none;
}
.table,
.markdown table {
border-collapse: collapse !important;
}
.table td,
.markdown table td,
.table th,
.markdown table th {
background-color: #fff !important;
}
}
.icon {
display: inline-block;
line-height: 0.75em;
width: 1.1em;
vertical-align: -0.2em;
}
.icon svg {
display: block;
}
@keyframes fa-spin {
0% {
transform: rotate(0);
}
100% {
transform: rotate(1turn);
}
}
.navbar {
flex-wrap: wrap;
}
.navbar .navbar-nav {
flex-grow: 1;
flex-wrap: nowrap;
}
@media (max-width: 575.98px) {
.navbar .navbar-nav {
flex-direction: row !important;
}
.navbar .navbar-nav .nav-link {
padding: 0 0.5rem;
}
.navbar .navbar-nav .nav-link:first-child {
padding-left: 0;
}
}
.navbar .nav-link:hover {
text-decoration: underline;
}
.navbar-light .navbar-brand a {
text-decoration: none;
color: #000;
}
.navbar-light .navbar-brand a:hover {
text-decoration: underline;
}
.navbar-light .navbar-brand .icon {
position: relative;
top: 1px;
}
.nav-tabs {
padding-left: 1rem;
margin-bottom: 0.5rem;
border-bottom: 3px #ddd solid;
}
.nav-tabs .nav-link {
padding: 0 1rem;
border-radius: 0;
border: none;
color: #65686a;
cursor: pointer;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-link.active:hover {
color: #000;
background: #ddd;
}
.header-tabbed {
border-bottom: 3px solid #ddd;
margin-bottom: 1rem;
}
.header-tabbed .container {
display: flex;
flex-wrap: wrap;
}
@media (max-width: 767.98px) {
.header-tabbed .container {
flex-direction: column;
}
}
.header-tabbed h2 {
display: inline;
margin: 0;
padding-right: 1rem;
}
.header-tabbed .nav {
border: none;
margin: 0;
flex-grow: 1;
display: inline-flex;
flex-wrap: nowrap;
padding: 0;
}
.header-tabbed .nav li {
align-self: flex-end;
}
.header-tabbed .nav .nav-item:hover {
background: #ddd;
}
.header-tabbed .nav .nav-item:hover a {
color: #000;
}
@media (max-width: 767.98px) {
.header-tabbed .nav {
flex-wrap: wrap;
}
.header-tabbed .nav li {
align-self: flex-start;
margin: 0 -1rem;
width: 100vw;
}
}
.header-tabbed form {
margin-top: 0;
margin-bottom: 0;
}
@media (max-width: 575.98px) {
.header-tabbed .nav-tabs {
padding-left: 0;
}
}
.map {
margin-bottom: 1rem;
text-overflow: ellipsis;
overflow: hidden;
padding: 0.5rem;
margin: 0.5rem 0;
background: #f8f9fa;
}
.map a {
color: #0640e0;
}
.map a:hover {
color: #0056b3;
}
.map:first-child {
margin-top: 0;
}
.map:last-child {
margin-bottom: 0;
}
.map h4 {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-bottom: 0;
padding: 0;
}
.map blockquote {
margin-bottom: 0.5rem;
}
.map blockquote *:last-child {
margin-bottom: 0;
}
.map *:last-child {
margin-bottom: 0;
}
.toc {
margin-bottom: 1rem;
text-overflow: ellipsis;
overflow: hidden;
padding: 0.5rem;
margin: 0.5rem 0;
background: #f8f9fa;
}
.toc a {
color: #0640e0;
}
.toc a:hover {
color: #0056b3;
}
.toc:first-child {
margin-top: 0;
}
.toc:last-child {
margin-bottom: 0;
}
.toc h4 {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-bottom: 0;
padding: 0;
}
.toc blockquote {
margin-bottom: 0.5rem;
}
.toc blockquote *:last-child {
margin-bottom: 0;
}
.toc *:last-child {
margin-bottom: 0;
}
body {
font-family: sans-serif;
font-size: 1rem;
padding-bottom: 1rem;
text-align: initial;
}
@media (max-width: 991.98px) {
.container {
width: 100%;
max-width: 100%;
}
}
a {
text-decoration: underline;
}
a:hover {
text-decoration: none;
}
a.nav-link,
a.navbar-brand {
text-decoration: none;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a {
text-decoration: none;
}
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover {
text-decoration: underline;
}
form {
margin-bottom: 1rem;
}
h1 {
font-size: 1.5rem;
border-bottom: 1px solid #e9ecef;
padding-bottom: 0.25rem;
margin-top: 0;
}
h2 {
font-size: 1.4rem;
border-bottom: 1px solid #e9ecef;
padding-bottom: 0.25rem;
margin-top: 0;
}
h3 {
font-size: 1.3rem;
border-bottom: 1px solid #e9ecef;
padding-bottom: 0.25rem;
}
h4 {
font-size: 1.2rem;
padding-bottom: 0.25rem;
}
h5 {
font-size: 1rem;
font-weight: 700;
}
.table thead th,
.markdown table thead th {
padding: 0.1rem 0.75rem;
border: none;
}
.table tbody td,
.markdown table tbody td {
position: relative;
background-clip: padding-box;
vertical-align: middle;
padding: 0.1rem 0.75rem;
border: 1px solid #ced4da;
background-color: #fff;
}
.alert {
padding: 0.5rem;
border-radius: 0;
}
blockquote {
padding-left: 0.5rem;
border-left: 3px solid #aaa;
}
pre {
background: #e9ecef;
padding: 0.25rem;
}
code {
margin: 0;
background: 0 0;
color: #000;
}
.markdown h1,
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
position: relative;
margin-top: 1em;
}
.markdown h1:first-child,
.markdown h2:first-child,
.markdown h3:first-child,
.markdown h4:first-child,
.markdown h5:first-child,
.markdown h6:first-child {
margin-top: 0;
}
.markdown h1 > a:first-child,
.markdown h2 > a:first-child,
.markdown h3 > a:first-child,
.markdown h4 > a:first-child,
.markdown h5 > a:first-child,
.markdown h6 > a:first-child {
transition: opacity 0.15s linear;
opacity: 0;
position: absolute;
font-size: inherit;
left: -0.7em;
}
@media (prefers-reduced-motion) {
.markdown h1 > a:first-child,
.markdown h2 > a:first-child,
.markdown h3 > a:first-child,
.markdown h4 > a:first-child,
.markdown h5 > a:first-child,
.markdown h6 > a:first-child {
transition: none;
}
}
.markdown h1:hover > a:first-child,
.markdown h2:hover > a:first-child,
.markdown h3:hover > a:first-child,
.markdown h4:hover > a:first-child,
.markdown h5:hover > a:first-child,
.markdown h6:hover > a:first-child {
opacity: 1;
}
.markdown h1 img,
.markdown h2 img,
.markdown h3 img,
.markdown h4 img,
.markdown h5 img,
.markdown h6 img {
margin: 0 0.2rem;
max-width: 100%;
}
@media (prefers-color-scheme: dark) {
body {
background: #212529;
color: #f8f9fa;
}
.toc {
background: #131618;
color: #fff;
}
.toc a:not(.btn) {
color: #3395ff;
}
.map {
background: #131618;
color: #fff;
}
.map a:not(.btn) {
color: #3395ff;
}
a {
color: #3395ff;
}
h3,
h4 {
border-bottom-color: #495057;
}
pre {
color: #fff;
background: #131618;
}
code {
color: #fff;
}
.table,
.markdown table,
.table tbody tr,
.markdown table tbody tr,
.table tbody td,
.markdown table tbody td,
.table thead th,
.markdown table thead th {
background: #343a40;
}
.table tbody td,
.markdown table tbody td {
border: 1px solid #212529;
}
.navbar-light .navbar-brand,
.navbar-light .navbar-brand a,
.navbar-light .navbar-brand a:hover,
.navbar-light .navbar-brand:hover {
color: #fff;
}
.navbar-light .navbar-nav .nav-link {
color: #78828a;
}
.navbar-light .navbar-nav .nav-link:focus {
color: #adb5bd;
}
.navbar-light .navbar-nav .nav-link:hover {
color: #fff;
}
.navbar-light .navbar-nav .active .nav-link {
color: #fff;
}
.header-tabbed {
border-color: #131618;
}
.header-tabbed .nav .nav-item .nav-link.active,
.header-tabbed .nav .nav-item .nav-link:hover {
color: #fff;
background: #131618;
border-color: #131618;
}
.header-tabbed .nav .nav-link {
color: #ced4da;
}
}
html,
body {
min-height: 100%;
height: 100%;
}
img {
max-width: 100%;
/* display: block;*/
margin: 0 0.2rem;
}
.img-block {
display: block;
}
h3 {
padding-top: 1rem;
}
h4 {
padding-top: 1rem;
}
h5 {
padding-top: 1rem;
}
h6 {
padding-top: 1rem;
}
.toc {
padding: 0.5rem 1rem;
}
.map {
padding: 0.5rem 1rem;
}
.alert {
position: initial;
}
.toc {
padding: 0.5rem 1rem;
}
.map {
display: flex;
justify-content: space-between;
align-content: space-between;
align-items: stretch;
flex-wrap: wrap;
margin-bottom: 0;
}
.toggle {
display: inline-block;
text-align: center;
white-space: nowrap;
vertical-align: middle;
user-select: none;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
background: #dee2e6;
border: #343a40 1px solid;
color: #000;
border-radius: 0;
padding: 0.1rem 0.75rem;
font-size: 0.9rem;
transition: background 0.1s linear;
}
@media screen and (prefers-reduced-motion: reduce) {
.toggle {
transition: none;
}
}
.toggle:hover,
.toggle:focus {
text-decoration: none;
}
.toggle:focus {
outline: 0;
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.toggle:disabled {
opacity: 0.65;
}
.toggle:not(:disabled):not(.disabled) {
cursor: pointer;
}
.toggle:not(:disabled):not(.disabled):active,
.toggle:not(:disabled):not(.disabled).active {
background-image: none;
}
a.toggle {
color: #000;
text-decoration: none;
}
a.toggle:hover {
color: #000;
}
.toggle:hover {
background: #e9ecef;
}
.tip {
position: relative;
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
color: #004085;
background-color: #cce5ff;
border-color: #b8daff;
}
.tip hr {
border-top-color: #9fcdff;
}
a.tip {
color: #002752;
}
.note {
position: relative;
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
color: #0c5460;
background-color: #d1ecf1;
border-color: #bee5eb;
}
.note hr {
border-top-color: #abdde5;
}
a.note {
color: #062c33;
}
.important {
position: relative;
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
color: #1b1e21;
background-color: #d6d8d9;
border-color: #c6c8ca;
}
.important hr {
border-top-color: #b9bbbe;
}
a.important {
color: #040505;
}
.caution {
position: relative;
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
color: #856404;
background-color: #fff3cd;
border-color: #ffeeba;
}
.caution hr {
border-top-color: #ffe8a1;
}
a.caution {
color: #533f03;
}
.warning {
position: relative;
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
color: #721c24;
background-color: #f8d7da;
border-color: #f5c6cb;
}
.warning hr {
border-top-color: #f1b0b7;
}
a.warning {
color: #491217;
}
.sidebar {
width: 20ex;
float: right;
margin-left: 4px;
margin-bottom: 4px;
margin-top: -1px;
padding: 0ex 2ex;
border-top: 0px;
border-left: 1px solid #ddd;
border-bottom: 0px;
border-right: 0px;
background: white;
color: black !important;
}
header.header {
font-size: 100%;
font-weight: bold;
line-height: 1em;
}
.inlinepage {
border: 0px;
}
.inlinefooter {
display: none;
}