More actions
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* All CSS here will be loaded for users of the mobile site */
/*****************************************************************************
*
* = START CLEANED UP SECTION =
*
* Everything here has to be documented properly, explaining what it does if
* not obvious, and especially, explaining where the CSS classes/ids/etc. are
* actually used. Things should be transitioned to use TemplateStyles as much
* as possible; otherwise list ALL templates / pages that rely on the CSS
* found in here.
*
* Also, the CSS here should be divided into sections and sub-sections just as
* you would do with headers in a regular page. Use the following format for
* these "headers" below:
*
* /*
* * == This is a section of cleaned-up CSS ==
* * /
*
* /*
* * === This is a sub-section of the above ===
* * /
*
*****************************************************************************/
/*
* == Modify Citizen's dark theme ==
*/
/* The Citizen skin defines some variables based on which the entire color
palette is defined. It's blue by default for the dark theme. */
:root.skin-citizen-dark {
/* This should give us a nice dark orange / brown. */
--color-primary__h: 15;
/* Make surfaces darker. */
--color-surface-0: hsl(var(--color-primary__h) 10% 8%);
--color-surface-1: hsl(var(--color-primary__h) 10% 10%);
--color-surface-2: hsl(var(--color-primary__h) 10% 12%);
}
/*
* == Advertisement ==
*
* On Citizen, we show a fixed banner at the bottom. It's added through a hook
* in LocalSettings.php and uses the id bg3wiki-footer-ad.
*/
/* Annoying "Privacy" button on bottom-right; not needed. We link to our own
privacy policy page at the bottom, which has this button as a link. */
#qc-cmp2-persistent-link {
display: none;
}
/*
* === Footer ad height config ===
*
* Height is conditional, to fit various standard ad sizes:
*
* 320x50, 468x60, 728x90, 970x90
*/
:root {
--footer-ad-h: 50px;
}
@media screen and (min-width: 468px) {
:root {
--footer-ad-h: 60px;
}
}
@media screen and (min-width: 728px) and (min-height: 1024px) {
:root {
--footer-ad-h: 90px;
}
}
/*
* === Control visibility ===
*
* The footer ad only appears if the screen is at least 720px high, so we don't
* annoy users of small mobile devices by stealing screen real estate.
*
* It's also hidden if the width is smaller than 320px, because the smallest
* possible ad has size 320x50.
*/
#bg3wiki-footer-ad {
display: none;
}
@media screen and (min-width: 320px) and (min-height: 720px) {
.mw-ads-enabled #bg3wiki-footer-ad {
display: block;
}
/* Make sure we can scroll to the end, taking the ad into account. */
.mw-ads-enabled .citizen-page-container {
margin-bottom: var(--footer-ad-h);
}
}
/*
* === Adjustments to Citizen skin elements ===
*
* Citizen switches its layout at the width limit of 1120px, and we have to
* apply different customizations to the layout based on that.
*/
/* The narrow layout where the Citizen "header" is at the bottom. We have to
make sure that the "header" and everything tied to it is above the ad. */
@media screen and (min-width: 320px) and (max-width: 1119px) and (min-height: 720px) {
/* This one is visible even if the Citizen "header" is hidden. Make sure
it's above the ad. Note that the weird .citizen-feature... class is on
the <html> element so it's even before .mw-ads-enabled. */
.citizen-feature-autohide-navigation-clientpref-1
.mw-ads-enabled.citizen-scroll--down .citizen-toc {
bottom: calc(var(--footer-ad-h) + var(--space-xs));
}
/* The "header" is actually at the bottom; make sure it's above the ad. */
.mw-ads-enabled .citizen-header {
bottom: var(--footer-ad-h);
}
/* These float above the header. */
.mw-ads-enabled .page-actions,
.mw-ads-enabled .citizen-toc {
bottom: calc(var(--footer-ad-h) + var(--header-size) + var(--space-xs));
}
}
/* The wide layout where the Citizen "header" is on the left-side and the TOC
floats on the right. We have to make sure the TOC isn't too high. */
@media screen and (min-width: 1120px) and (min-height: 720px) {
.mw-ads-enabled .citizen-toc {
/* Extra -10px for padding from the ad. */
max-height: calc(
100vh - var(--footer-ad-h) - 10px - var(--height-sticky-header)
);
}
}
/*
* === Rest of the footer ad configuration ===
*/
/* Container */
.mw-ads-enabled #bg3wiki-footer-ad {
position: fixed;
bottom: 0;
height: var(--footer-ad-h);
width: 100%;
background: var(--color-surface-3);
z-index: 999;
align-content: center;
overflow: hidden;
}
/* Placeholder text for when ad isn't shown yet / doesn't show up. */
#bg3wiki-footer-ad p {
text-align: center;
font-size: 0.9em;
font-style: italic;
color: var(--color-subtle);
}
/* The actual insertion point for the ad. */
#bg3wiki-footer-ad-fuse,
#bg3wiki-footer-ad-ramp {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
align-content: center;
/* Must set this for Publift/Fuse (ad provider). */
min-height: var(--footer-ad-h);
/* So the two divs (fuse & ramp) don't block each other. */
/* Set pointer-events back on their child nodes. */
pointer-events: none;
}
/* See comment about pointer-events above. */
#bg3wiki-footer-ad-fuse div,
#bg3wiki-footer-ad-ramp div {
pointer-events: auto;
}
/* The "Ads served by: xyz" text at the bottom. */
#bg3wiki-ad-provider-notice {
margin: 0 var(--padding-page);
color: var(--color-subtle);
}
/*
* == PortableInfobox ==
*/
.portable-infobox {
margin-bottom: 2em;
}
/* Style the resistances part of the creature infobox. */
.pi-type-creature [data-item-name="resistances"] ul {
margin: 0;
list-style: none;
display: flex;
justify-content: center;
gap: 5px;
flex-wrap: wrap;
}
/*****************************************************************************
*
* = START LEGACY CSS =
*
* This is CSS that was added in the past and wasn't always documented well.
* Some of it may be unnecessary and should perhaps be cautiously deleted,
* other parts should be moved either to TemplateStyles or to the cleaned up
* section above.
*
*****************************************************************************/
:root.skin-citizen-dark {
--background-color-overlay: hsla(var(--color-primary__h) 20% 20% / 60%);
--background-color-overlay--lighter: hsl(var(--color-primary__h) 20% 20% / 80%);
--bg3wiki-relative-location-bg: var(--color-surface-0);
--bg3wiki-relative-location-header-bg-dark: var(--color-surface-1);
/* CSS tooltip colours */
--aria-label-tooltip-bg: hsl(200deg 5% 10%);
--aria-label-tooltip-fg: hsl(0deg 0% 90%);
--aria-label-tooltip-border: none;
--bg3wiki-tooltip-border: #785000;
}
/* MobileFrontend should strip elements with this class, but still */
.nomobile {
display: none;
}
/* Trick to easily make lists with list-style: none */
/* Wrap a list in <div class="bg3wiki-list-style-none"> */
.bg3wiki-list-style-none > ul {
list-style: none;
}
/* Table styling */
.wikitable {
width: 100%;
}
/*
* Various elements used across the wiki
*/
/* Info blob */
div.bg3wiki-info-blob {
display: inline-block;
padding: 0 1em 0 1em;
border-radius: 20px;
}
span.bg3wiki-info-blob {
padding: 0 0.5em 0 0.5em;
border-radius: 10px;
}
.bg3wiki-info-blob {
background-color: var(--color-surface-1);
font-family: monospace;
}
/* D20 background image for numbers */
.bg3wiki-d20-bg {
background-image: url('/static/d20-bg.png');
background-position: center;
background-repeat: no-repeat;
background-size: 35px;
}
/* Coordinates */
.skin-citizen-dark .bg3wiki-coordinates {
font-family: 'Linux Libertine', 'Georgia', serif;
text-shadow: 1px 1px 2px #000, -1px -1px 2px #000;
color: #AB9F89;
background: #34323285;
border-radius: 5px;
padding: 3px 5px;
box-shadow: 1px 1px 5px #00000030;
}
/* Item, spell, etc. properties */
.bg3wiki-property-list dt {
font-weight: normal;
}
.bg3wiki-property-list dd {
margin-left: 0;
}
.mw-content-ltr ul.bg3wiki-property-list {
margin-left: 0;
list-style: none;
}
/* Imitating in-game tooltips */
.bg3wiki-tooltip-box {
overflow: hidden;
margin: 0.5em 0.2em 0 0.2em;
}
.skin-citizen-dark .bg3wiki-tooltip-box {
background: #1B1A19;
box-shadow:
rgba(0, 0, 0, 0.14) 3px 3px 6px 0px inset,
rgba(0, 0, 0, 0.14) -3px -3px 6px 1px inset;
border: 0.15rem solid var(--bg3wiki-tooltip-border);
border-radius: 10px;
padding: 15px;
}
.skin-citizen-dark .bg3wiki-tooltip-gradient-common {
background: linear-gradient(to bottom, #1B1A1999, #1B1A1999, #1B1A1999, #40295199);
}
.skin-citizen-dark .bg3wiki-tooltip-gradient-uncommon {
background: linear-gradient(to bottom, #00491599, #1B1A1999, #1B1A1999, #40295199);
}
.skin-citizen-dark .bg3wiki-tooltip-gradient-rare {
background: linear-gradient(to bottom, #00374999, #1B1A1999, #1B1A1999, #40295199);
}
.skin-citizen-dark .bg3wiki-tooltip-gradient-veryrare {
background: linear-gradient(to bottom, #54003299, #1B1A1999, #1B1A1999, #40295199);
}
.skin-citizen-dark .bg3wiki-tooltip-gradient-legendary {
background: linear-gradient(to bottom, #563E0D99, #1B1A1999, #1B1A1999, #40295199);
}
.skin-citizen-dark .bg3wiki-tooltip-gradient-story {
background: linear-gradient(to bottom, #561D0099, #1B1A1999, #1B1A1999, #40295199);
}
.bg3wiki-book-text p {
font-family: 'Linux Libertine', 'Georgia', serif;
}
/* ItemIcon stuff */
:root {
/* ItemIcon rarity colors */
--bg3wiki-itemicon-common: 72, 72, 72;
--bg3wiki-itemicon-uncommon: 1, 189, 57;
--bg3wiki-itemicon-rare: 1, 191, 255;
--bg3wiki-itemicon-very-rare: 209, 1, 123;
--bg3wiki-itemicon-legendary: 183, 134, 29;
--bg3wiki-itemicon-story: 255, 89, 1;
--bg3wiki-itemicon-gradient-top-opacity: 0%;
--bg3wiki-itemicon-gradient-bot-opacity: 12.5%;
--bg3wiki-itemicon-border-opacity: 60%;
}
.bg3wiki-itemicon-wrapper {
text-align: center;
white-space: nowrap;
}
/* The value of --bg3wiki-rarity-color will be set per rarity class. */
.bg3wiki-itemicon {
display: inline-block;
background: linear-gradient(
rgba(var(--bg3wiki-rarity-color), var(--bg3wiki-itemicon-gradient-top-opacity)),
rgba(var(--bg3wiki-rarity-color), var(--bg3wiki-itemicon-gradient-bot-opacity))
);
border: solid 1px rgba(var(--bg3wiki-rarity-color), var(--bg3wiki-itemicon-border-opacity));
}
.bg3wiki-itemicon-common {
--bg3wiki-rarity-color: var(--bg3wiki-itemicon-common);
}
.bg3wiki-itemicon-uncommon {
--bg3wiki-rarity-color: var(--bg3wiki-itemicon-uncommon);
}
.bg3wiki-itemicon-rare {
--bg3wiki-rarity-color: var(--bg3wiki-itemicon-rare);
}
.bg3wiki-itemicon-very-rare {
--bg3wiki-rarity-color: var(--bg3wiki-itemicon-very-rare);
}
.bg3wiki-itemicon-legendary {
--bg3wiki-rarity-color: var(--bg3wiki-itemicon-legendary);
}
.bg3wiki-itemicon-story {
--bg3wiki-rarity-color: var(--bg3wiki-itemicon-story);
}
/* Relative Location stuff */
.relative-location {
background: var(--bg3wiki-relative-location-bg);
border: 1px solid var(--bg3wiki-tooltip-border);
border-spacing: 0;
box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1);
margin: 5px;
text-align: center;
}
.relative-location-header {
background: var(--bg3wiki-relative-location-header-bg-dark);
}
/* Damage Rider As Source (DRS) template */
.bg3wiki-damage-rider-source {
font-size:10px;
vertical-align: top;
font-style: italic;
}
/* License box */
#mw-license-preview .bg3wiki-license-box-container {
/* Don't want margin in the preview box because that breaks things */
margin: auto auto auto 0;
}
.bg3wiki-license-box-container {
margin: 4px 0 4px 10%;
}
.bg3wiki-license-box {
border: 2px solid #785000;
border-collapse: collapse;
background: #1B1A19;
color: rgb(210,210,210);
width: 100%;
}
.bg3wiki-license-box-image {
border-right: none;
padding: 0.4rem 0 0.4rem 0.9rem;
}
.bg3wiki-license-box-text {
border-left: none;
vertical-align: top;
padding: 0.4rem 0 0.4rem 0.9rem;
}
/* Hat note */
.hatnote {
font-style: italic;
padding-left: 1.6em;
margin-bottom: 0.5em;
}
/* Price calculator */
#bg3wiki-price-calculator {
border: 1px solid var(--bg3wiki-tooltip-border);
}
#bg3wiki-price-calculator-form {
padding: 0.5em;
}
#bg3wiki-price-calculator-form input[type="number"] {
width: 100%;
}
#bg3wiki-price-calculator-form td {
padding-right: 0.5em;
}
#bg3wiki-price-calculator-form th {
text-align: right;
padding-right: 0.5em;
}
#bg3wiki-price-calculator-form label {
margin-left: 0.2em;
}
#bg3wiki-price-calculator-result {
margin: 1em;
}
#bg3wiki-price-calculator-result td, #bg3wiki-price-calculator-result th {
text-align: right;
}
/* Hack to display category trees as a navbox. Only used on NavModding and
* NavGuides for now.
*/
.navcat div > .CategoryTreeSection::after {
content: " · ";
font-weight: bold;
}
.navcat div > .CategoryTreeSection:last-child::after {
content: none;
}
.navcat div > .CategoryTreeTag,
.navcat div > .CategoryTreePageBullet {
display: none;
margin: 0;
padding: 0;
}
.navcat div {
display: inline;
margin: 0;
padding: 0;
padding-left: 0;
}
/* UID widget styling. */
.bg3wiki-uid {
display: inline-block;
}
.bg3wiki-uid summary {
display: inline-block;
list-style: none;
margin: 2px 0;
}
.bg3wiki-uid summary span {
text-decoration: underline dotted;
cursor: pointer;
}
.bg3wiki-uid tt {
border: 1px dashed var(--bg3wiki-tooltip-border);
user-select: all;
padding: 0 0.5rem;
}
/* number inside AC shield */
.bg3wiki-ac-value {
display: grid;
justify-items:start;
align-items: start
}
.bg3wiki-ac-value > div {
grid-column-start: 1;
grid-row-start: 1;
}
.bg3wiki-ac-value .ac-value {
text-align:center;
width: 40px;
align-self: center;
padding-bottom: 0.5ch
}
.bg3wiki-ac-value .ac-value-comment {
grid-column-start: 2;
grid-row-start: 1;
align-self: center
}
/* CSS tooltip implementation. Usage in markup:
<some-element aria-label="tooltip text here">
normal text
</some-element>
*/
[aria-label]:hover, [aria-label]:focus {position: relative}
[aria-label]:hover::after,
[aria-label]:focus::after {
position: absolute;
white-space: pre;
line-height: 1;
padding: 0.3rem;
content: attr(aria-label);
background-color: var(--aria-label-tooltip-bg);
color: var(--aria-label-tooltip-fg);
border: var(--aria-label-tooltip-border);
text-decoration: unset;
/* See optional override below. */
bottom: 100%;
left: 0;
}
/* Changes the tooltip position. */
[aria-label].aria-label-top-rig:hover::after,
[aria-label].aria-label-top-rig:focus::after {
bottom: 100%;
left: unset;
right: 0;
}
/* Optional class for indicating tooltip presence via underline. */
.bg3wiki-help-tooltip[aria-label] {
cursor: help;
text-decoration-line: underline;
text-decoration-style: dotted;
text-decoration-thickness: 1px;
text-underline-offset: calc(1ex / 2);
}
/* Tab bar */
.bg3wiki-tabbar {
background-color: #1B1A19;
margin: 0.5em 0 0 0;
}
.bg3wiki-tabbar .bg3wiki-tab {
padding:0 10px;
display: inline-block;
}
.bg3wiki-tabbar .bg3wiki-tab-active {
background-color: #281c14;
color: #cfbca9;
}
/* Unbulleted lists */
.bg3wiki-ublist ul,
.bg3wiki-ublist ol {
margin: 0;
padding: 0;
line-height: inherit;
list-style: none;
}
/* Horizontal lists */
.bg3wiki-horizontlist dl,
.bg3wiki-horizontlist ul {
margin: 0;
padding: 0;
}
.bg3wiki-horizontlist dl ul,
.bg3wiki-horizontlist dl dl,
.bg3wiki-horizontlist ul dl,
.bg3wiki-horizontlist ul ul {
display: inline;
}
.bg3wiki-horizontlist dd,
.bg3wiki-horizontlist dt,
.bg3wiki-horizontlist li {
margin: 0;
display: inline;
}
.bg3wiki-horizontlist dd::after,
.bg3wiki-horizontlist li::after {
content: " · ";
font-weight: bold;
}
.bg3wiki-horizontlist dd:last-child::after,
.bg3wiki-horizontlist dt:last-child::after,
.bg3wiki-horizontlist li:last-child::after {
content: none;
}
.bg3wiki-horizontlist dt::after {
content: ":";
font-weight: normal;
font-size: 100%;
}
.bg3wiki-horizontlist dd dd:first-child::before,
.bg3wiki-horizontlist dd dt:first-child::before,
.bg3wiki-horizontlist dd li:first-child::before,
.bg3wiki-horizontlist dt dd:first-child::before,
.bg3wiki-horizontlist dt dt:first-child::before,
.bg3wiki-horizontlist dt li:first-child::before,
.bg3wiki-horizontlist li dd:first-child::before,
.bg3wiki-horizontlist li dt:first-child::before,
.bg3wiki-horizontlist li li:first-child::before {
content: " (";
font-weight: normal;
}
.bg3wiki-horizontlist dd dd:last-child::after,
.bg3wiki-horizontlist dd dt:last-child::after,
.bg3wiki-horizontlist dd li:last-child::after,
.bg3wiki-horizontlist dt dd:last-child::after,
.bg3wiki-horizontlist dt dt:last-child::after,
.bg3wiki-horizontlist dt li:last-child::after,
.bg3wiki-horizontlist li dd:last-child::after,
.bg3wiki-horizontlist li dt:last-child::after,
.bg3wiki-horizontlist li li:last-child::after {
content: ")";
font-weight: normal;
}
.bg3wiki-bquote {
overflow: hidden;
margin: 1em 0;
}
.bg3wiki-quotesource {
line-height: 1.5em;
padding-left: 1.5em;
margin-top: 0;
}
.bg3wiki-blockquote-marks {
font-size: 120%;
font-family: serif;
font-weight: bold;
}
/* Shortcut */
.bg3wiki-template-shortcut {
display: inline-block;
background-color: var(--color-surface-2);
text-align: center;
margin: 1em;
padding: 0 0.33em 0 0.33em;
vertical-align: top;
width: fit-content;
font-size: 85%;
}
.bg3wiki-template-shortcut-top {
text-align: center;
margin: 0;
padding: 0 0 0.16em 0;
border-bottom: 2px solid #3d3d3d;
font-size: 90%;
}
/* Amboxes */
.ambox {
background-color: var(--color-surface-2);
}
.ambox-speedy {
/* Pink */
background-color: #400805;
}
.ambox .mbox-image,
.ambox .mbox-imageright {
/* These are hidden since the screen may be too narrow. */
display: none;
}
/* Character info template styling */
.infobox {
display: table;
width: 100%;
font-size: 90%;
margin-left: auto;
margin-right: auto;
background-color: var(--color-surface-0);
}
.infobox-above {
font-size: 130%;
text-align: center;
background: var(--color-surface-1);
}
.infobox-subheader {
text-align: center;
background-color: var(--color-surface-0);
}
.infobox-header {
text-align: center;
font-size: 130%;
text-align: center;
background: var(--color-surface-1);
}
.infobox-title {
text-align: center;
}
.infobox-label {
background-color: var(--color-surface-1);
margin-right: 5em;
padding: 5px;
}
th.infobox-label {
text-align: right;
}
th.infobox-label:has(.bg3wiki-icontext-block),
th.infobox-label:has(.bg3wiki-condition) {
text-align: left;
}
td.infobox-label {
text-align: center;
}
.infobox-data {
text-align: center;
background-color: var(--color-surface-1);
padding: 5px;
}
.infobox-below {
text-align: center;
background: var(--color-surface-1);
}
.infobox-image {
text-align: center;
background-color: var(--color-surface-0);
}
.infobox table {
display: table;
}
.infobox caption {
display: table-caption;
background-color: var(--color-surface-0);
}
/* Remove nowrap when undesired in infoboxes */
.mw-parser-output .infobox .nowrap {
white-space: normal !important;
}
/* When we want wrapping */
.wrap,
.wraplinks a {
white-space: normal;
}
/* Template:WeaponsTableHeader / Template:WeaponsTableRow */
.bg3wiki-weapons-table td:not(:last-child) {
text-align: center;
}