MediaWiki:Common.css: Difference between revisions
MediaWiki interface page
More actions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
/* CSS placed here will be applied to all skins */ | /* CSS placed here will be applied to all skins */ | ||
/* remove last modification and copyright from the page bottom */ | |||
#footer-info-lastmod { display: none; } | #footer-info-lastmod { display: none; } | ||
#footer-info-copywright { display: none; } | |||
/* pz-theme */ | /* pz-theme */ | ||
Revision as of 15:18, 22 March 2026
/* CSS placed here will be applied to all skins */
/* remove last modification and copyright from the page bottom */
#footer-info-lastmod { display: none; }
#footer-info-copywright { display: none; }
/* pz-theme */
:root {
--color-mw-base: var(--color-base, #000); /* --color-base is default for vector-2022 and citizen */
--color-mw-light: #ffffff; /* light font for use on dark backgrounds */
--color-mw-link: var(--color-progressive, #0645ad); /* --color-progressive is default for vector-2022 and citizen */
--color-mw-link--hover: var(--color-progressive--hover, --color-mw-link); /* --color-progressive--hover is default for vector-2022 and citizen */
--color-mw-link-subtle: var(--color-subtle, #577bc1);
--color-effect-neg: #b65535;
--color-effect-pos: #4ad031;
--color-pz-subtle: #ccc;
--background-pz-red-0: #7b1317; /* red: highlight */
--background-pz-red-1: #4b0c0e; /* red: normal */
--background-pz-red-2: #3d0b0c; /* red: darker */
--background-pz-red-3: #320c0d; /* red: darkest */
--background-pz-blue-0: #1b6ab1; /* blue: highlight */
--background-pz-blue-1: #033361; /* blue: normal */
--background-pz-blue-2: #052a4e; /* blue: darker */
--background-pz-blue-3: #072440; /* blue: darkest */
--background-mw-0: #e5e5e5; /* heading */
--background-mw-1: #f8f9fa; /* normal */
--background-mw-2: #f9f9f9; /* odd */
--background-mw-3: #f2f2f2; /* even */
--background-mw-4: var(--border-color-base, #a2a9b1); /* border-color-base is default <hr> for citizen and vector-2022 */
--background-message-error: #fee7e6;
--background-message-warn: #fef6e7;
--background-message-info: #d2e5ff;
--background-message-success: #e8fce5;
--border-mw-color-base: #a2a9b1;
--border-mw-color-red: #460c10;
--border-mw-color-blue: #0f304a;
--border-mw: 1px solid var(--border-mw-color-base);
--border-red: 1px solid var(--border-mw-color-red);
--border-blue: 1px solid var(--border-mw-color-blue);
--border-message-error: 1px solid #d33;
--border-message-warn: 1px solid #fc3;
--border-message-info: 1px solid #aaaaaa;
--border-message-success: 1px solid #4d2;
--border-radius: 0.5em;
--shadow-mw: 0 0 0.5em 0.1em #00000080;
--transition-pz-hover: all 0.2s linear;
--color-mw: var(--background-mw-1); /* DEPRECATED */
--color-red: var(--background-pz-red-1); /* DEPRECATED */
--color-red-1: var(--background-pz-red-2); /* DEPRECATED */
--color-red-2: var(--background-pz-red-3); /* DEPRECATED */
--color-blue: var(--background-pz-blue-1); /* DEPRECATED */
--color-blue-1: var(--background-pz-red-2); /* DEPRECATED */
--color-blue-2: var(--background-pz-red-3); /* DEPRECATED */
--color-mw-border: var(--border-mw-color-base); /* DEPRECATED */
--link-mw: var(--color-mw-link); /* DEPRECATED */
--link-red: var(--color-mw-link); /* DEPRECATED */
--link-blue: var(--color-mw-link); /* DEPRECATED */
}
/* Provide pixel art support, from https://stackoverflow.com/a/8888964/ */
.cycle-img img,
ul.mw-search-results > li.mw-search-result img,
.gallery .gallerybox div.thumb img,
.filehistory a img,
#mw-fileduplicatesearch-icon img,
.mw-datatable td img,
.pixelart img,
img.pixelart {
image-rendering: optimizeSpeed; /* Legal fallback */
image-rendering: -moz-crisp-edges; /* Firefox */
image-rendering: -o-crisp-edges; /* Opera */
image-rendering: -webkit-optimize-contrast; /* Safari */
image-rendering: optimize-contrast; /* CSS3 Proposed */
image-rendering: pixelated; /* CSS4 Proposed */
image-rendering: crisp-edges; /* CSS4 Proposed */
-ms-interpolation-mode: nearest-neighbor; /* IE8+ */
}
/*
Remove switch to vector skin sidebar message.
display should be changed on skins that should have it displayed.
*/
#n-vector-opt-out {
display: none;
font-weight: bold;
}
/* Remove text decoration on link */
.no-decoration a:hover {
text-decoration: none;
}
/* Toggle for collapsible templates */
div.toggle::after {
content: "";
position: absolute;
top: 1.1em;
right: 0.9em;
width: 0.7em;
height: 0.7em;
border-right: 2px solid var(--color-mw-base);
border-top: 2px solid var(--color-mw-base);
transform: rotate(-45deg);
}
div.mw-collapsed + div.toggle::after {
position: absolute;
top: 0.8em;
border-right: 2px solid var(--color-mw-base);
border-bottom: 2px solid var(--color-mw-base);
border-top: none;
transform: rotate(45deg);
}
div.toggle.small::after {
font-size: 0.9em;
}
/* TEMPORARY CLASS: change link colour for mw collapsible toggle */
td.mw-collapse-data-color > span > a {
color: #ffffff;
text-decoration: none;
}
/* Clearer background color for wikitable */
table.wikitable > tr > th,
table.wikitable > * > tr > th {
background-color: var(--background-mw-0);
}
table.wikitable tr {
background-color: var(--background-mw-1);
}
/* max width for smaller displays */
@media screen and (max-width: 720px) {
table.wikitable {
width: 100%;
}
}
/* rounded corners wikitable */
table.wikitable {
border-collapse: separate;
border-spacing: 0;
border: var(--border-mw);
border-radius: var(--border-radius);
background: none;
padding: 0;
}
/* override default wikitable borders */
table.wikitable th, table.wikitable td {
border: none;
}
table.wikitable thead + tbody {
border-top: var(--border-mw);
}
table.wikitable tr th,.wikitable tr td {
border-top: var(--border-mw);
border-right: var(--border-mw);
}
table.wikitable tr th:last-child,.wikitable tr td:last-child {
border-right: none;
}
table.wikitable tr:first-of-type th,.wikitable tr:first-of-type td {
border-top: 0
}
table.wikitable tr:first-of-type th:first-child,
table.wikitable tr:first-of-type td:first-child {
border-top-left-radius: var(--border-radius);
}
table.wikitable tr:first-of-type th:last-child,
table.wikitable tr:first-of-type td:last-child {
border-top-right-radius: var(--border-radius);
}
table.wikitable tr:last-of-type th:first-child,
table.wikitable tr:last-of-type td:first-child {
border-bottom-left-radius: var(--border-radius);
}
table.wikitable tr:last-of-type th:last-child,
table.wikitable tr:last-of-type td:last-child {
border-bottom-right-radius: var(--border-radius);
}
/* remove some rounded corners for sortable wikitable */
table.wikitable.sortable > tr:first-child > td:first-child,
table.wikitable.sortable > * > tr:first-child > td:first-child {
border-top-left-radius: 0;
}
table.wikitable.sortable > tr:first-child > td:last-child,
table.wikitable.sortable > * > tr:first-child > td:last-child {
border-top-right-radius: 0;
}
table.wikitable.sortable > tr:last-child > th:first-child,
table.wikitable.sortable > * > tr:last-child > th:first-child {
border-bottom-left-radius: 0;
}
table.wikitable.sortable > tr:last-child > th:last-child,
table.wikitable.sortable > * > tr:last-child > th:last-child {
border-bottom-right-radius: 0;
}
/* remove border if collapsed and has caption */
table.wikitable.mw-collapsed:has(caption) {
border: none;
}
/* Custom table styles */
table.wikitable.theme-red > tr > th,
table.wikitable.theme-red > * > tr > th {
background-color: var(--background-pz-red-1);
color: var(--color-mw-light);
}
table.wikitable.theme-red > tr > th,table.wikitable.theme-red > * > tr > th > button {
color: var(--color-mw-light)
}
table.wikitable.theme-blue > tr > th,
table.wikitable.theme-blue > * > tr > th {
background-color: var(--background-pz-blue-1);
color: var(--color-mw-light);
}
table.wikitable.theme-blue > tr > th,table.wikitable.theme-blue > * > tr > th > button {
color: var(--color-mw-light)
}
/* Use inverted (white) sort arrows for red and blue themes */
table.wikitable.theme-red.jquery-tablesorter th.headerSort,
table.wikitable.theme-blue.jquery-tablesorter th.headerSort{
background-image: url(/w/resources/src/jquery.tablesorter.styles/images/sort_both_inverted.svg)
}
table.wikitable.theme-red.jquery-tablesorter th.headerSortUp {
background-image: url(/w/resources/src/jquery.tablesorter.styles/images/sort_up_inverted.svg)
}
table.wikitable.theme-red.jquery-tablesorter th.headerSortDown {
background-image: url(/w/resources/src/jquery.tablesorter.styles/images/sort_down_inverted.svg)
}
/* Highlight targetted table row */
table.wikitable tr:target,
.highlight-target:target {
background-color: #ffffcc;
}
/* Sticky column */
.sticky-column th:first-child,
.sticky-column td:first-child {
position: sticky;
left: 0;
z-index: 5;
background-color: var(--background-mw-1);
}
/* Prevent elements without rowspan from overlapping the sticky column */
.sticky-column th:not([rowspan]),
.sticky-column td:not([rowspan]) {
z-index: 1;
}
/* Horizontal scrolling */
.scroll-x {
overflow: auto;
white-space: nowrap;
}
/* Button style */
table.button {
}
table.button td {
background-color: #68191b;
border: 2px solid #000000;
color: #ffffff;
}
table.button td:hover {
background-color: #b22328;
}
td.button a {
display: block;
width: 100%;
height: 100%;
}
.button a {
text-decoration: none;
}
/* Make the list of references smaller */
ol.references {
font-size: 100%;
}
.references-small {
font-size: 90%;
}
/* VALIDATOR NOTICE: the following is correct, but the W3C validator doesn't accept it */
/* -moz-* is a vendor-specific extension (CSS 2.1 4.1.2.1) */
/* column-count is from the CSS3 module "CSS Multi-column Layout" */
/* Please ignore any validator errors caused by these two lines */
.references-2column {
font-size: 90%;
-moz-column-count: 2;
-webkit-column-count: 2;
column-count: 2;
}
/* Highlight clicked reference in blue to help navigation */
ol.references > li:target, sup.reference:target, cite:target {
background-color: #ddeeff;
}
/* Ensure refs in table headers and the like aren't bold or italic */
sup.reference {
font-weight: normal;
font-style: normal;
}
/* Styling for citations */
cite {
font-style: normal;
word-wrap: break-word;
}
/* For linked citation numbers and document IDs, where
the number need not be shown on a screen or a handheld,
but should be included in the printed version */
@media screen,
handheld,
projection {
cite *.printonly {
display: none;
}
}
/* Style rules for media list templates */
div.medialist {
min-height: 50px;
margin: 1em;
background-position: top left;
background-repeat: no-repeat;
}
div.medialist ul {
list-style-type: none;
list-style-image: none;
margin: 0;
}
div.medialist ul li {
padding-bottom: 0.5em;
}
div.medialist ul li li {
font-size: 91%;
padding-bottom: 0;
}
/* Colored watchlist numbers */
.mw-plusminus-pos {
color: #006400;
}
/* dark green */
.mw-plusminus-neg {
color: #8b0000;
}
/* dark red */
.rellink,
.dablink {
font-style: italic;
padding-left: 2em;
}
.rellink i,
.dablink i {
font-style: normal;
}
/* Style for horizontal UL lists */
.horizontal ul {
padding: 0;
margin: 0;
}
.horizontal li {
padding: 0 0.6em 0 0.4em;
display: inline;
border-right: 1px solid;
}
.horizontal li:last-child {
border-right: none;
padding-right: 0;
}
/* When <div class="nonumtoc"> is used on the table of contents,
the ToC will display without numbers */
.nonumtoc .tocnumber {
display: none;
}
.nonumtoc #toc ul,
.nonumtoc .toc ul {
line-height: 1.5em;
list-style: none;
margin:
.3em 0 0;
padding: 0;
}
.nonumtoc #toc ul ul,
.nonumtoc
.toc ul ul {
margin: 0 0 0 2em;
}
/* Prevent line breaks in silly places:
1) links when we don't want them to
2) HTML formulae
3) Ref tags with group names <ref group="Note"> --> "[Note 1]" */
.nowraplinks a, span.texhtml, sup.reference a {
white-space: nowrap;
}
.thumbinner {
min-width: 100px;
}
/* Inline divs in ImageMaps (code borrowed from de.wiki) */
.imagemap-inline div {
display: inline;
}
/* Increase the height of the image upload box */
#wpUploadDescription {
height: 13em;
}
/* Reduce line-height for <sup> and <sub> */
sup, sub {
line-height: 1em; }
/* Prevent floating boxes from overlapping any category listings,
file histories, edit previews, and edit [Show changes] views */
#mw-subcategories, #mw-pages, #mw-category-media,
#filehistory, #wikiPreview, #wikiDiff {
clear: both;
}
/* Div based "warning" style system messages (system messages). */
div.mw-warning-with-logexcerpt,
div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning {
clear: both;
margin: 0.2em 0;
border: 1px solid var(--border-message-warn);
background: var(--background-message-warn);
padding: 0.25em 0.9em;
}
/* Div based "system" style messages (system messages). */
div.mw-lag-warn-normal,
div.noarticletext,
div.fmbox-system {
clear: both;
margin: 0.2em 0;
border: 1px solid var(--border-message-info);
background: var(--background-message-info);
padding: 0.25em 0.9em;
}
/* Selectively hide headers in WikiProject banners */
.wpb .wpb-header { display: none; }
.wpbs-inner .wpb .wpb-header { display: block; } /* for IE */
.wpbs-inner .wpb .wpb-header { display: table-row; } /* for real browsers */
.wpbs-inner .wpb-outside { display: none; } /* hide things that should only display outside shells */
/* Allow limiting of which header levels are shown in a TOC;
<div class="toclimit-3">, for instance, will limit to
showing ==headings== and ===headings=== but no further
(as long as there are no =headings= on the page, which
there shouldn't be according to the MoS). */
.toclimit-2 .toclevel-2,
.toclimit-3 .toclevel-3,
.toclimit-4 .toclevel-4,
.toclimit-5 .toclevel-5,
.toclimit-6 .toclevel-6,
.toclimit-7 .toclevel-7 {
display: none;
}
/* Numbered lists (ordered) */
/* Use #, ##, ### wikitext to produce the usual system of numbered lists (1, 2, 3; then a, b, c; then i, ii, iii) */
ol {
list-style-type: decimal;
}
ol li > ol {
list-style-type: lower-alpha;
}
ol li > ol li > ol {
list-style-type: lower-roman;
}
/* Bulleted lists (unordered) */
/* Use *, **, *** wikitext to produce the usual system of bulleted lists (•; then ◦; then ▪) */
ul {
list-style-image: none;
list-style-type: disc;
}
ul li > ul {
list-style-type: circle;
}
ul li > ul li > ul {
list-style-type: square;
}
/* Regional logos
.mw-wiki-logo:lang(en-gb) {
background-image: url(https://pzwiki.net/w/images/3/37/Spiffo_rummage.png) !important;
} */
/* Custom CSS for code */
pre.code {
background-color: #f8f9fa;
border: 1px solid #eaecf0;
color: var(--color-mw-base);
line-height: 1.3;
padding: 1em;
tab-size: 4;
}
pre.code span.comment {
color: #408080;
font-style: italic;
}
pre.code span.function {
color: #0000ff;
}
pre.code span.keyword {
color: #008000;
font-weight: bold;
}
span.obsolete {
color: #ff0000;
}
code.equation {
font-size: 1.2em;
font-family: 'Times New Roman', Times, serif;
}
/* Code style with no border/background */
.pz-code {
font-family: Consolas, Menlo, Monaco, Lucida Console, Monospace;
font-size: 0.8em;
}
/* Template:Section */
div.pz-section {
display: flex;
flex-direction: column;
background-color: var(--background-mw-1);
border: var(--border-mw);
border-radius: calc(var(--border-radius) * 2);
box-sizing: border-box;
overflow: hidden;
box-shadow: var(--shadow-mw);
}
div.pz-section.theme-red {
border: var(--border-red);
}
div.pz-section.theme-blue {
border: var(--border-blue);
}
div.pz-section > h2 {
text-align: center;
margin: 0;
padding: calc(var(--border-radius) / 2);
}
div.pz-section.theme-red > h2 {
background-color: var(--background-pz-red-1);
color: var(--color-mw-light);
}
div.pz-section.theme-blue > h2 {
background-color: var(--background-pz-blue-1);
color: var(--color-mw-light);
}
div.pz-section > div {
flex-grow: 1;
padding: var(--border-radius);
}
div.pz-section > div h3 {
text-align: center;
border-bottom: var(--border-mw);
}
/* Responsive layout */
/* TODO: remove after "pz-responsive" replaced with "pz-container" */
div.pz-responsive {
width: 100%;
display: flex;
}
div.pz-responsive > div {
display: flex;
flex-direction: column;
}
div.pz-responsive > div:first-child {
flex-basis: 70%;
margin-right: 10px;
}
div.pz-responsive > div:last-child {
flex-basis: 30%;
}
div.pz-responsive > div > div {
margin-bottom: 10px;
}
div.pz-responsive > div > div:last-child {
margin-bottom: 0;
flex-grow: 1;
}
/** Responsive images **/
div.pz-responsive img {
width: 100%;
height: auto;
}
/** Mobile layout **/
@media screen and (max-width: 1280px) {
div.pz-responsive {
flex-direction: column;
}
div.pz-responsive > div:first-child {
margin-right: 0;
margin-bottom: 10px;
}
}
/* Template:Mbox */
div.mbox {
position: relative;
display: flex;
border: var(--border-mw);
border-radius: var(--border-radius);
background-color: var(--background-mw-1);
margin-bottom: 0.5em;
padding-left: var(--border-radius);
overflow: hidden;
align-items: stretch;
}
div.mbox > div:first-child {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: var(--border-radius);
background-color: var(--background-mw-1);
}
div.mbox > div:first-child + div {
display: flex;
align-items: center;
flex-shrink: 0;
margin: var(--border-radius) 0;
padding: 0 var(--border-radius);
text-align: center;
}
div.mbox > div:first-child + div img {
max-width: 64px;
height: auto;
}
div.mbox > div:nth-child(2):has(~ div .mw-collapsed) img {
max-width: 32px;
}
div.mbox > div:last-child {
display: flex;
flex-direction: column;
justify-content: center;
flex-grow: 1;
padding: calc(var(--border-radius) / 2) var(--border-radius);
}
/* Template:Infobox */
div.infobox {
float: right;
clear: right;
width: 350px;
display: flex;
flex-direction: column;
gap: 2px;
background-color: var(--background-mw-1);
border: var(--border-mw);
border-radius: calc(var(--border-radius) * 2);
margin: 0.5em 0 0.5em 1em;
box-shadow: var(--shadow-mw);
overflow: hidden;
font-size: 88%;
}
div.infobox.theme-red {
border-color: var(--background-pz-red-1);
}
div.infobox.theme-blue {
border-color: var(--background-pz-blue-1);
}
div.infobox > div:first-child {
text-align: center;
font-size: 1.5em;
font-weight: bold;
padding: calc(var(--border-radius) / 2);
}
div.infobox.theme-red > div:first-child {
color: var(--color-mw-light);
background-color: var(--background-pz-red-1);
}
div.infobox.theme-blue > div:first-child {
color: var(--color-mw-light);
background-color: var(--background-pz-blue-1);
}
div.infobox div.infobox-image {
display: flex;
flex-direction: column;
gap: 4px;
}
div.infobox div.infobox-image > div.infobox-preview {
display: none; /* handled with js */
margin: 0 auto;
}
div.infobox div.infobox-image > div.infobox-preview:first-child {
display: block; /* First preview visible by default */
}
div.infobox div.infobox-image > div.infobox-preview img {
max-width: 200px;
height: auto;
}
div.infobox div.infobox-image > div.infobox-caption {
text-align: center;
font-style: italic;
}
div.infobox div.infobox-image > div.infobox-gallery {
display: flex;
justify-content: center;
gap: 4px;
padding: 4px;
flex-wrap: wrap;
}
div.infobox div.infobox-image > div.infobox-gallery img {
border: var(--border-mw);
border-radius: var(--border-radius);
padding: 1px;
width: auto;
max-height: 32px;
cursor: pointer;
}
div.infobox div.infobox-image > div.infobox-gallery img:hover {
background: var(--background-mw-2);
box-shadow: 0 0 0.25em var(--border-mw-color-base);
}
div.infobox div.infobox-image > div.infobox-gallery img.selected {
background: var(--background-mw-2);
box-shadow: 0 0 0.25em var(--border-mw-color-base) inset;
}
div.infobox div.infobox-section {
position: relative;
}
div.infobox div.infobox-section > div:first-child {
text-align: center;
font-size: 1.1em;
font-weight: bold;
padding: calc(var(--border-radius) / 2);
transition: var(--transition-pz-hover);
}
div.infobox.theme-red div.infobox-section > div:first-child {
color: var(--color-mw-light);
background-color: var(--background-pz-red-1);
}
div.infobox.theme-blue div.infobox-section > div:first-child {
color: var(--color-mw-light);
background-color: var(--background-pz-blue-1);
}
div.infobox div.infobox-section > div.mw-collapsible {
display: flex;
flex-direction: column;
gap: 2px;
margin-top: 2px;
}
div.infobox div.infobox-section > div.toggle::after {
border-color: var(--color-mw-light);
}
div.infobox.theme-red div.infobox-section > div:first-child:hover,
div.infobox.theme-red div.infobox-section:has(> div.toggle:hover) > div:first-child {
background-color: var(--background-pz-red-0);
}
div.infobox.theme-blue div.infobox-section > div:first-child:hover,
div.infobox.theme-blue div.infobox-section:has(> div.toggle:hover) > div:first-child {
background-color: var(--background-pz-blue-0)
}
div.infobox div.infobox-item {
display: flex;
}
div.infobox div.infobox-item > div {
color: var(--color-base);
padding: 0 0.5em;
overflow:auto; /* temporary fix for long values (item_id) */
}
div.infobox div.infobox-item > div:first-child {
width: 40%;
font-weight: bold;
display: flex;
justify-content: space-between;
flex-shrink: 0;
background-color: var(--background-mw-3);
}
div.infobox div.infobox-item > div:first-child img {
width: 1.5em;
height: 1.5em;
}
div.infobox div.infobox-item > div:first-child img.auto-size {
width: auto;
height: auto;
}
/* Template:Documentation */
div.documentation {
display: flex;
flex-direction: column;
}
div.documentation > div {
padding: var(--border-radius);
}
div.documentation > div:first-child,
div.documentation > div:last-child {
border: var(--border-mw);
padding: var(--border-radius);
}
div.documentation > div:not(:first-child):not(:last-child) {
border-right: var(--border-mw);
border-left: var(--border-mw);
}
div.documentation > div:first-child {
background-color: var(--background-mw-2);
border-radius: var(--border-radius) var(--border-radius) 0 0;
}
div.documentation > div:first-child > span:first-child {
margin-right: 1em;
text-transform: uppercase;
font-weight: bold;
}
div.documentation > div:first-child > span:nth-child(2) {
font-size: 0.875em;
}
div.documentation > div:first-child img {
max-width: 2em;
max-height: 2em;
}
div.documentation > div:first-child + div {
background-color: var(--background-mw-1);
}
div.documentation > div:last-child {
display: flex;
flex-wrap: wrap;
gap: 0 2em;
align-items: stretch;
background-color: var(--background-mw-2);
border-radius: 0 0 var(--border-radius) var(--border-radius);
font-size: 0.875em;
}
div.documentation > div:last-child > div {
flex: 1 1 0;
white-space: nowrap;
margin: 0;
padding: 0;
}
div.documentation > div:last-child > div:first-child {
text-align: left;
}
div.documentation > div:last-child > div:last-child {
text-align: right;
font-style: italic;
}
/* Template:Header */
div.header {
display: flex;
padding: 0.5em 0;
margin-bottom: 0.5em;
border-radius: var(--border-radius);
}
div.header.theme-red {
background-color: var(--background-pz-red-1);
border: var(--border-red);
color: var(--color-mw-light);
}
div.header.theme-blue {
background-color: var(--background-pz-blue-1);
border: var(--border-blue);
color: var(--color-mw-light);
}
div.header > div:first-child {
font-weight: bold;
padding: 0 0.5em;
}
div.header > div:last-child {
flex-grow: 1;
padding: 0 0.5em;
}
div.header.theme-red > div:first-child {
border-right: 1px solid var(--color-mw-light);
}
div.header.theme-blue > div:first-child {
border-right: 1px solid var(--color-mw-light);
}
/* Template:Mask */
.mask {
color: black;
background-color: black;
transition: color 0.2s linear;
}
.mask:hover {
color: var(--color-mw-light);
}
/* Template:Navbox */
div.navbox {
position: relative;
display: flex;
flex-direction: column;
background-color: var(--background-mw-1);
border: var(--border-mw);
border-radius: var(--border-radius);
margin: 0.5em auto;
overflow: hidden;
}
div.navbox.theme-red {
border: var(--border-red);
}
div.navbox.theme-blue {
border: var(--border-blue);
}
div.navbox > div:first-child {
text-align: center;
font-size: 1.2em;
font-weight: bold;
padding: calc(var(--border-radius) / 2) var(--border-radius); /* <!-- */
transition: var(--transition-pz-hover);
}
div.navbox.theme-red > div:first-child {
background-color: var(--background-pz-red-1);
color: var(--color-mw-light);
}
div.navbox.theme-blue > div:first-child {
background-color: var(--background-pz-blue-1);
color: var(--color-mw-light);
}
/* second-level of navbox */
div.navbox div.navbox > div:first-child {
font-size: 1.0em;
margin-top: 0.2em;
}
div.navbox.theme-red div.navbox > div:first-child {
background-color: var(--background-pz-red-2);
}
div.navbox.theme-blue div.navbox > div:first-child {
background-color: var(--background-pz-blue-2);
}
/* third-level of navbox */
div.navbox div.navbox div.navbox > div:first-child {
font-size: 0.9em;
margin: 0;
}
div.navbox.theme-red div.navbox div.navbox > div:first-child {
background-color: var(--background-pz-red-3);
}
div.navbox.theme-blue div.navbox div.navbox > div:first-child {
background-color: var(--background-pz-blue-3);
}
/* hover effect */
div.navbox.theme-red div.navbox div.navbox > div:first-child:hover:not(:has(a:hover)),
div.navbox.theme-red div.navbox > div:first-child:hover:not(:has(a:hover)),
div.navbox.theme-red > div:first-child:hover:not(:has(a:hover)) {
background-color: var(--background-pz-red-0);
}
div.navbox.theme-blue div.navbox div.navbox > div:first-child:hover:not(:has(a:hover)),
div.navbox.theme-blue div.navbox > div:first-child:hover:not(:has(a:hover)),
div.navbox.theme-blue > div:first-child:hover:not(:has(a:hover)) {
background-color: var(--background-pz-blue-0);
}
/* toggle */
div.navbox.theme-red > div.toggle::after,
div.navbox.theme-blue > div.toggle::after {
border-color: var(--color-mw-light);
}
/* rows and items */
div.navbox > div.mw-collapsible {
display: flex;
flex-direction: column;
gap: 2px;
margin-top: 2px;
}
div.navbox div.navbox-row {
background-color: var(--background-mw-3);
text-align: center;
}
div.navbox > div.mw-collapsible .navbox {
border: none;
border-radius: 0;
box-shadow: 0 0;
margin: 0;
}
div.navbox > div.mw-collapsible div.navbox-section {
display: flex;
gap: 2px;
}
div.navbox > div.mw-collapsible div.navbox-item > div > p {
margin: 0.4em 0;
}
div.navbox > div.mw-collapsible div.navbox-section > div:first-child {
display: flex;
flex-direction: column;
gap: 2px;
flex-grow: 1;
}
div.navbox > div.mw-collapsible div.navbox-section > div:first-child + div {
flex-shrink: 0;
display: flex;
justify-content: center;
align-items: center;
}
div.navbox > div.mw-collapsible div.navbox-item {
display: flex;
gap: 2px;
}
div.navbox > div.mw-collapsible div.navbox-item > div:first-child {
width: 20%;
min-width: 100px;
flex-shrink: 0;
display: flex;
justify-content: center;
align-items: center;
background-color: var(--background-mw-3);
font-weight: bold;
text-align: center;
}
div.navbox > div.mw-collapsible div.navbox-item > div:last-child {
flex-grow: 1;
display: flex;
flex-direction: column;
gap: 2px;
font-size: 0.9em;
}
/* Scale image on hover */
.scale-image img {
transition: all 0.2s ease-in-out;
}
.scale-image img:hover {
transform: scale(1.05);
}
/* Bump image on hover */
/* Used on main page for quick links */
.media-bump img {
display: inline-block;
transition: var(--transition-pz-hover);
}
.media-bump div:hover img {
transform: translateY(-4px);
}
.media-bump div:hover a {
text-decoration: underline;
}
.media-bump div:hover a:not(.new) {
color: var(--color-mw-link--hover)
}
/* Images should be responsive */
/* Image will resize based on container size, instead of being static. */
.res-img img {
max-width: 100%;
height: auto;
}
/* Template:Togglebox */
div.togglebox {
position: relative;
display: flex;
flex-direction: column;
border-radius: var(--border-radius);
margin: 0.5em auto;
transition: var(--transition-pz-hover);
}
div.togglebox.theme-red {
background-color: var(--background-pz-red-1)
}
div.togglebox.theme-blue {
background-color: var(--background-pz-blue-1)
}
div.togglebox.theme-red:has(> div:first-child:hover):not(:has(a:hover)),
div.togglebox.theme-red:has(> div.toggle:hover):not(:has(a:hover)) {
background-color: var(--background-pz-red-0);
}
div.togglebox.theme-blue:has(> div:first-child:hover):not(:has(a:hover)),
div.togglebox.theme-blue:has(> div.toggle:hover):not(:has(a:hover)) {
background-color: var(--background-pz-blue-0);
}
div.togglebox > div:first-child {
font-weight: bold;
border-radius: var(--border-radius);
padding: var(--border-radius);
}
div.togglebox.theme-red > div:first-child {
color: var(--color-mw-light)
}
div.togglebox.theme-blue > div:first-child {
color: var(--color-mw-light)
}
div.togglebox > div.mw-collapsible {
background-color: var(--background-mw-1);
border-radius: var(--border-radius);
padding: 0 var(--border-radius);
margin: 0 0.5em 0.5em;
}
div.togglebox.theme-red > div.mw-collapsible { /* ToggleBox content div red */
/* background-color: var(--background-mw-1); */
}
div.togglebox.theme-blue > div.mw-collapsible { /* ToggleBox content div blue */
/* background-color: var(--background-mw-1); */
}
div.togglebox > div.toggle::after {
border-color: var(--color-mw-light)
}
/* used in Project Zomboid Wiki and PZwiki:Community Portal */
div.pz-container {
width: 100%;
display: flex;
gap: 0.5em;
}
div.pz-container > div {
display: flex;
flex-direction: column;
gap: 0.5em;
}
div.pz-container > div:first-child {
flex-basis: 70%;
}
div.pz-container > div:last-child {
flex-basis: 30%;
}
div.pz-container > div > div:last-child {
flex-grow: 1;
}
div.pz-container img {
width: auto;
height: auto;
}
@media screen and (max-width: 1280px) {
div.pz-container {
flex-direction: column;
}
}
/* Template:Userbox showcase */
div.userbox-showcase {
min-width: 240px;
float: right;
clear: right;
margin: 0 0 1em 0.5em;
border: var(--border-blue);
border-radius: calc(var(--border-radius) * 2);
overflow: hidden;
}
div.userbox-showcase > div {
padding: var(--border-radius);
}
div.userbox-showcase > div:first-child {
text-align: center;
background-color: var(--background-pz-blue-1);
color: var(--color-mw-light);
font-size: 1.2em;
font-weight: bold;
}
div.userbox-showcase > div:first-child a {
color: var(--link-blue);
}
div.userbox-showcase > div:last-child {
display: flex;
flex-direction: column;
gap: var(--border-radius);
background-color: var(--background-mw-1);
}
/* Template: Userbox */
div.userbox {
display: flex;
min-height: 40px;
max-width: 240px;
border: var(--border-mw);
border-radius: var(--border-radius);
overflow: hidden;
margin: 0.5em;
}
div.userbox > div {
padding: var(--border-radius);
min-height: 32px;
display: flex;
align-items: center;
}
div.userbox > div:first-child {
text-align: center;
font-weight: bold;
flex-basis: 32px;
flex-shrink: 0;
border-right: var(--border-mw);
justify-content: center;
min-width: 48px;
}
div.userbox > div:first-child img {
max-width: 32px;
height: auto;
}
div.userbox > div:last-child {
flex-grow: 1;
font-size: 0.75em;
padding: 0 var(--border-radius);
}
div.userbox.awards {
display: block;
}
div.userbox.awards > div:first-child {
float: left;
}
div.userbox-showcase > div:last-child > div.userbox {
margin: 0;
}
/* Template:Navbar */
div.navbar {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 0.5em;
padding: var(--border-radius);
border-radius: calc(2 * var(--border-radius));
}
div.navbar > a {
padding: var(--border-radius);
border-radius: var(--border-radius);
border: var(--border-mw);
background-color: var(--background-mw-2);
transition: all 0.2s linear;
text-decoration: none;
}
div.navbar.theme-red > a {
background-color: var(--background-pz-red-1);
border: var(--border-red);
}
div.navbar.theme-blue > a {
background-color: var(--background-pz-blue-1);
border: var(--border-blue);
}
div.navbar > a:first-child {
font-weight: bold;
}
div.navbar > a:hover {
border-radius: calc(var(--border-radius) * 2);
}
div.navbar > a:hover:not(.mw-selflink) {
transform: translateY(-4px);
}
div.navbar.theme-red > a:hover:not(.mw-selflink) {
background-color: var(--background-pz-red-0); /* light red */
color: var(--color-mw-link-subtle);
}
div.navbar.theme-blue > a:hover:not(.mw-selflink) {
background-color: var(--background-pz-blue-0); /* light blue */
color: var(--color-mw-link-subtle);
}
div.navbar > a.mw-selflink {
border-radius: calc(var(--border-radius) * 2);
color: var(--color-mw-light);
}
div.navbar.theme-red > a.mw-selflink {
background-color: var(--background-pz-red-3); /* dark red */
}
div.navbar.theme-blue > a.mw-selflink {
background-color: var(--background-pz-blue-3); /* dark blue */
}
/* Future replacement of navbar */
div.navbar2 {
background: var(--background-mw-1);
border-bottom: 4px solid var(--background-mw-4);
padding: 5px 20px;
margin-bottom: 0.5em;
text-align: center;
}
div.navbar2 > div:first-child {
font-size: 1.1em;
font-weight: bold;
}
div.navbar2 hr {
border-top: 1px solid var(--background-mw-4);
margin: 4px auto;
width: 98%;
}
div.navbar2 > div:last-child > p {
margin: 0.5em 0;
}
/* Don't show In other languages when editing pages on Vector skins, until we find better solution */
#p-lang {
display: none;
}
/* Template:Key */
kbd.keyboard-key {
border: var(--border-mw);
border-radius: 0.2em;
box-shadow: 0.1em 0.2em 0.2em var(--background-mw-3);
background-image: linear-gradient(to bottom, var(---background-mw-2), var(--background-mw-2), var(--background-mw-2));
padding: 0.1em 0.3em;
font-family: inherit;
font-size: 0.85em;
}
/* Template:Quote */
.quote {
display: flex;
font-family: 'Georgia', 'Times New Roman', 'Times', serif;
}
.quote .quote-mark {
font-weight: bold;
font-size: 4em;
height: 1em;
}
.quote .quote-text {
margin: 0.5em;
padding-left: 0.5em;
border-left: var(--border-mw);
font-style: italic;
}
.quote .quote-author {
text-align: right;
}
/* Mediawiki:Sitenotice */
.sitenotice-card {
display: flex;
align-items: center;
justify-content: center;
padding: 0 var(--padding-page);
color: var(--color-pz-base);
text-align: center;
}
.sitenotice-card > div {
display: flex;
flex-direction: column;
flex-grow: 1;
}
.sitenotice-card .image-container-left {
margin-right: 1rem;
flex-grow: 0;
}
.sitenotice-card .image-container-right {
margin-left: 1rem;
flex-grow: 0;
}
@media screen and (max-width: 720px) {
.sitenotice-card .image-container-left,
.sitenotice-card .image-container-right {
display: none;
}
}
/* gallery lists - used on tile pages */
div.gallery-list {
display: block;
text-align: center;
}
div.gallery-list > div {
display: inline-block;
margin: 0.5em;
}
/* itemlist boxes - Template:Item_list */
div.itemlist {
display: inline-block;
border: var(--border-mw);
border-radius: var(--border-radius);
height: 96px;
width: 96px;
text-align: center;
vertical-align: middle;
margin: 0.2em 0.1em;
position: relative;
}
div.itemlist p {
margin: 0;
}
div.itemlist div.itemlist-img {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 48px;
}
div.itemlist div.itemlist-title {
display: flex;
align-items: center;
justify-content: center;
height: 40px;
font-size: 0.7em;
margin: 0.2em;
}
div.itemlist div.itemlist-title > p {
margin: 0.2em;
}
div.itemlist:hover {
border-color: var(--color-mw-link);
}
div.itemlist:hover.itemlist-dropdown {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
div.itemlist div.itemlist-data {
position: absolute;
top: 100%;
z-index: 10;
margin-left: -1px;
width: 98px;
font-size: 0.8em;
box-sizing: border-box;
background-color: var(--background-mw-1);
border-bottom-left-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
border: 1px solid var(--color-mw-link);
border-top: var(--border-mw);
visibility: hidden;
opacity: 0;
}
div.itemlist div.itemlist-data img {
width: 24px;
height: auto;
}
div.itemlist:hover div.itemlist-data {
visibility: visible;
opacity: 1;
}
/* Template:LangSwitch */
div.langswitch {
background: var(--background-mw-1);
padding: 0.5em 1em;
margin-bottom: 0.5em;
border-radius: var(--border-radius);
color: var(--color-pz-subtle)
}
div.langswitch > p {
margin: 0;
}
div.langswitch a:not(:hover).new span {
color: var(--color-pz-subtle)
}
div.langswitch a.selflink span {
color: var(--color-mw-base);
}
/* Template:Info */
.tooltip-info {
position: relative;
display: inline-block;
}
.tooltip-info img.tooltip-info-img {
width: 16px;
height: auto;
cursor: help;
transition: filter 0.3s ease;
}
.tooltip-info img.tooltip-info-img:hover,
.tooltip-info img.tooltip-info-img:focus {
filter: brightness(0.6);
}
.tooltip-info img.tooltip-info-img:hover + .tooltip-info-text,
.tooltip-info img.tooltip-info-img:focus + .tooltip-info-text {
visibility: visible;
}
.tooltip-info-text {
visibility: hidden;
position: absolute;
background-color: var(--background-mw-1);
padding: 5px;
border: var(--border-mw);
border-radius: var(--border-radius);
white-space: nowrap;
z-index: 1;
font-size: 88%;
}
/* mobile friendly formatting for lists */
.list-columns {
column-width: 200px;
column-fill: balance;
max-width: 800px;
column-gap: 1em;
}
/* plain lists - removes character before each item */
div.list-plain > ul > li {
list-style-type: none;
}
/* switch to vector skin sidebar message */
#n-vector-opt-out a {
font-weight: bold;
}
/* image cycling (common.js) */
.cycle-img span[typeof="mw:File"] {
display: none;
}
.cycle-img span[typeof="mw:File"]:first-child {
display: inline;
}
/* Template:Video */
.video-container {
display: flex;
flex-direction: column;
max-width: 425px;
}
div.video-align-left {
display: flex;
justify-content: left;
margin-right: 20px
}
div.video-align-right {
display: flex;
justify-content: right;
margin-left: 20px
}
div.video-align-center {
display: flex;
justify-content: center
}
.video-thumbnail {
position: relative;
display: inline-block;
overflow: hidden;
cursor: pointer;
}
.video-thumbnail img {
width: 100%;
height: 100%;
object-fit: cover;
}
.video-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 50%;
background: linear-gradient(to bottom,rgba(0,0,0,0.6) 0%,rgba(0,0,0,0) 100%);
opacity: 0;
transition: opacity 0.3s ease-in-out;
pointer-events: none;
}
.video-title {
position: absolute;
padding: 10px 15px;
color: var(--color-mw-light);
font-size: 1.2em;
text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
pointer-events: none;
}
.video-footer {
position: absolute;
bottom: 5px;
left: 5px;
color: var(--color-mw-light);
font-size: 0.7em;
background: rgba(0,0,0,0.5);
padding: 3px 8px;
border-radius: 3px;
white-space: nowrap;
pointer-events: none;
}
.video-info {
opacity: 0;
left: auto;
right: 5px;
transition: opacity 0.3s ease-in-out;
}
.video-thumbnail:hover .video-overlay,
.video-thumbnail:hover .video-info {
opacity: 1;
}
@media (max-width: 639px) {
.video-container {
max-width:100%
}
div.video-align-left> div.video-container,
div.video-align-right > div.video-container {
margin: 0;
}
}
/* Special:Statistics */
tr.statistics-group-suppress, tr.statistics-group-emailconfirmed, tr.statistics-group-checkuser-temporary-account-viewer {
display: none;
}
/* Fix white background overwriting inherit for dark themes in File previews. */
html.skin-theme-clientpref-night #file img,
html.skin-theme-clientpref-os #file img {
background-color: inherit;
}