Files
hacktricks-cloud/theme/css/general.css
Carlos Polop 6e2e489c39 f
2026-02-04 11:17:02 +01:00

487 lines
11 KiB
CSS

/* Base styles and content styles */
:root {
/* Browser default font-size is 16px, this way 1 rem = 10px */
font-size: 62.5%;
color-scheme: var(--color-scheme);
}
html {
font-family: var(--body-font);
color: var(--fg);
background-color: var(--bg);
text-size-adjust: none;
-webkit-text-size-adjust: none;
}
body {
margin: 0;
font-size: 1.55rem;
line-height: 1.7;
overflow-x: hidden;
}
#body-container {
position: relative;
background-color: var(--bg);
}
.bg-animation {
position: fixed;
inset: 0;
pointer-events: none;
z-index: 0;
background:
radial-gradient(ellipse at 20% 20%, var(--bg-effect-primary) 0%, transparent 50%),
radial-gradient(ellipse at 80% 80%, var(--bg-effect-secondary) 0%, transparent 50%),
radial-gradient(ellipse at 50% 50%, var(--bg-effect-tertiary) 0%, transparent 70%);
animation: bg-drift 28s ease-in-out infinite alternate;
}
.grid-overlay {
position: fixed;
inset: 0;
pointer-events: none;
z-index: 1;
background-image:
linear-gradient(var(--grid-overlay-color) 1px, transparent 1px),
linear-gradient(90deg, var(--grid-overlay-color) 1px, transparent 1px);
background-size: 50px 50px;
opacity: 0.7;
animation: grid-float 40s linear infinite;
}
.particles {
position: fixed;
inset: 0;
pointer-events: none;
z-index: 2;
overflow: hidden;
}
.particle {
position: absolute;
width: 4px;
height: 4px;
background: var(--particle-color);
border-radius: 50%;
opacity: 0;
filter: blur(0.2px);
animation: float-particle 16s infinite;
}
@keyframes bg-drift {
0% { transform: translate3d(0, 0, 0) scale(1); }
100% { transform: translate3d(-2%, 1%, 0) scale(1.04); }
}
@keyframes grid-float {
0% { background-position: 0 0, 0 0; }
100% { background-position: 60px 30px, 30px 60px; }
}
@keyframes float-particle {
0% { transform: translate3d(var(--particle-x), 100vh, 0) rotate(0deg); opacity: 0; }
10% { opacity: 0.6; }
90% { opacity: 0.6; }
100% { transform: translate3d(calc(var(--particle-x) * 1.5), -120vh, 0) rotate(720deg); opacity: 0; }
}
code {
font-family: var(--mono-font) !important;
font-size: var(--code-font-size);
direction: ltr !important;
}
/* make long words/inline code not x overflow */
main {
overflow-wrap: break-word;
}
/* make wide tables scroll if they overflow */
.table-wrapper {
overflow-x: auto;
}
/* Don't change font size in headers. */
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
font-size: unset;
}
.left { float: left; }
.right { float: right; }
.boring { opacity: 0.6; }
.hide-boring .boring { display: none; }
.hidden { display: none !important; }
h2, h3 { margin-block-start: 2.5em; }
h4, h5 { margin-block-start: 2em; }
.header + .header h3,
.header + .header h4,
.header + .header h5 {
margin-block-start: 1em;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--heading-font);
letter-spacing: -0.01em;
line-height: 1.2;
}
h1 { font-size: clamp(2.6rem, 2.2rem + 1.5vw, 3.6rem); }
h2 { font-size: clamp(2.1rem, 1.8rem + 1vw, 2.8rem); }
h3 { font-size: clamp(1.8rem, 1.6rem + 0.6vw, 2.2rem); }
h4 { font-size: 1.7rem; }
h5 { font-size: 1.5rem; }
h1:target::before,
h2:target::before,
h3:target::before,
h4:target::before,
h5:target::before,
h6:target::before {
display: inline-block;
content: "»";
margin-inline-start: -30px;
width: 30px;
}
/* This is broken on Safari as of version 14, but is fixed
in Safari Technology Preview 117 which I think will be Safari 14.2.
https://bugs.webkit.org/show_bug.cgi?id=218076
*/
:target {
/* Safari does not support logical properties */
scroll-margin-top: calc(var(--menu-bar-height) + 0.5em);
}
.page {
outline: 0;
padding: 0 var(--page-padding);
margin-block-start: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */
}
.page-wrapper {
box-sizing: border-box;
background-color: transparent;
position: relative;
z-index: 5;
}
.no-js .page-wrapper,
.js:not(.sidebar-resizing) .page-wrapper {
transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */
}
[dir=rtl] .js:not(.sidebar-resizing) .page-wrapper {
transition: margin-right 0.3s ease, transform 0.3s ease; /* Animation: slide away */
}
.content {
overflow-y: auto;
padding: 10px 10px 60px 10px;
}
.content main {
margin-inline-start: auto;
margin-inline-end: auto;
max-width: var(--content-max-width);
}
.content nav {
margin-inline-start: auto;
margin-inline-end: auto;
max-width: var(--content-max-width);
margin-top: 24px;
}
.content p,
.content ol,
.content ul {
line-height: 1.7;
}
.content p {
margin: 0 0 1.2em 0;
}
.content a { text-decoration: none; }
.content a:hover { text-decoration: underline; }
.content img, .content video { max-width: 100%; }
.content .header:link,
.content .header:visited {
color: var(--fg);
}
.content .header:link,
.content .header:visited:hover {
text-decoration: none;
}
table {
margin: 0 auto;
border-collapse: collapse;
font-size: 0.95em;
}
table td {
padding: 6px 18px;
border: 1px var(--table-border-color) solid;
}
table thead {
background: var(--table-header-bg);
}
table thead td {
font-weight: 700;
border: none;
}
table thead th {
padding: 3px 20px;
}
table thead tr {
border: 1px var(--table-header-bg) solid;
}
/* Alternate background colors for rows */
table tbody tr:nth-child(2n) {
background: var(--table-alternate-bg);
}
blockquote {
margin: 20px 0;
padding: 0 20px;
color: var(--fg);
background-color: var(--quote-bg);
border-block-start: .1em solid var(--quote-border);
border-block-end: .1em solid var(--quote-border);
}
.admonition,
blockquote.admonition,
.blockquote-tag,
.note,
.tip,
.warning,
.caution,
.important,
.info,
.success,
.danger,
blockquote.note,
blockquote.tip,
blockquote.warning,
blockquote.caution,
blockquote.important,
blockquote.info,
blockquote.success,
blockquote.danger {
--admonition-bg: var(--admonition-default-bg);
--admonition-border: var(--admonition-default-border);
--admonition-accent: var(--admonition-default-accent);
--admonition-icon: var(--admonition-icon-default);
position: relative;
margin: 20px 0;
padding: 14px 18px 14px 54px;
color: var(--fg);
background: var(--admonition-bg);
border: 1px solid var(--admonition-border);
border-block-start: none;
border-block-end: none;
border-radius: 12px;
box-shadow: 0 12px 28px var(--admonition-shadow), inset 4px 0 0 var(--admonition-accent);
}
.blockquote-tag {
padding: 14px 18px;
}
.admonition.note,
.note,
blockquote.note {
--admonition-bg: var(--admonition-note-bg);
--admonition-border: var(--admonition-note-border);
--admonition-accent: var(--admonition-note-accent);
--admonition-icon: var(--admonition-icon-note);
}
.admonition.info,
.info,
blockquote.info {
--admonition-bg: var(--admonition-note-bg);
--admonition-border: var(--admonition-note-border);
--admonition-accent: var(--admonition-note-accent);
--admonition-icon: var(--admonition-icon-note);
}
.blockquote-tag-note,
.blockquote-tag-info {
--admonition-bg: var(--admonition-note-bg);
--admonition-border: var(--admonition-note-border);
--admonition-accent: var(--admonition-note-accent);
}
.admonition.tip,
.tip,
blockquote.tip,
.blockquote-tag-tip,
.admonition.success,
.success,
blockquote.success {
--admonition-bg: var(--admonition-tip-bg);
--admonition-border: var(--admonition-tip-border);
--admonition-accent: var(--admonition-tip-accent);
--admonition-icon: var(--admonition-icon-tip);
}
.admonition.warning,
.warning,
blockquote.warning,
.blockquote-tag-warning,
.admonition.important,
.important,
blockquote.important {
--admonition-bg: var(--admonition-warning-bg);
--admonition-border: var(--admonition-warning-border);
--admonition-accent: var(--admonition-warning-accent);
--admonition-icon: var(--admonition-icon-warning);
}
.admonition.caution,
.caution,
blockquote.caution,
.blockquote-tag-caution,
.admonition.danger,
.danger,
blockquote.danger {
--admonition-bg: var(--admonition-caution-bg);
--admonition-border: var(--admonition-caution-border);
--admonition-accent: var(--admonition-caution-accent);
--admonition-icon: var(--admonition-icon-caution);
}
.admonition::before,
blockquote.admonition::before,
.note::before,
.tip::before,
.warning::before,
.caution::before,
.important::before,
.info::before,
.success::before,
.danger::before,
blockquote.note::before,
blockquote.tip::before,
blockquote.warning::before,
blockquote.caution::before,
blockquote.important::before,
blockquote.info::before,
blockquote.success::before,
blockquote.danger::before {
content: "";
position: absolute;
top: 14px;
left: 18px;
width: 20px;
height: 20px;
background-color: var(--admonition-accent);
mask: var(--admonition-icon) no-repeat center / contain;
-webkit-mask: var(--admonition-icon) no-repeat center / contain;
}
.admonition-title {
margin: 0 0 8px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
font-size: 0.8em;
color: var(--admonition-accent);
}
.blockquote-tag-title {
margin: 0 0 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
font-size: 0.8em;
color: var(--admonition-accent);
display: flex;
align-items: center;
gap: 8px;
}
.blockquote-tag-title svg {
flex: 0 0 auto;
fill: currentColor;
}
.admonition > :last-child,
blockquote.admonition > :last-child,
.blockquote-tag > :last-child,
.note > :last-child,
.tip > :last-child,
.warning > :last-child,
.caution > :last-child,
.important > :last-child,
.info > :last-child,
.success > :last-child,
.danger > :last-child,
blockquote.note > :last-child,
blockquote.tip > :last-child,
blockquote.warning > :last-child,
blockquote.caution > :last-child,
blockquote.important > :last-child,
blockquote.info > :last-child,
blockquote.success > :last-child,
blockquote.danger > :last-child {
margin-bottom: 0;
}
kbd {
background-color: var(--table-border-color);
border-radius: 4px;
border: solid 1px var(--theme-popup-border);
box-shadow: inset 0 -1px 0 var(--theme-hover);
display: inline-block;
font-size: var(--code-font-size);
font-family: var(--mono-font);
line-height: 10px;
padding: 4px 5px;
vertical-align: middle;
}
sup {
/* Set the line-height for superscript and footnote references so that there
isn't an awkward space appearing above lines that contain the footnote.
See https://github.com/rust-lang/mdBook/pull/2443#discussion_r1813773583
for an explanation.
*/
line-height: 0;
}
:not(.footnote-definition) + .footnote-definition,
.footnote-definition + :not(.footnote-definition) {
margin-block-start: 2em;
}
.footnote-definition {
font-size: 0.9em;
margin: 0.5em 0;
}
.footnote-definition p {
display: inline;
}
.tooltiptext {
position: absolute;
visibility: hidden;
color: #fff;
background-color: #333;
transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */
left:35%; /* Half of the width of the icon */
top: -35px;
font-size: 12px;
text-align: center;
border-radius: 6px;
padding: 5px 8px;
margin: 5px;
z-index: 1000;
}
.tooltipped .tooltiptext {
visibility: visible;
}
.result-no-output {
font-style: italic;
}