MediaWiki:Common.css

From Secrets of the Frontier Wiki
Jump to navigation Jump to search

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.

Documentation

This wiki is using the theming template from the default loadout. This template is intended to minimize the work required to create a custom colored version of the standard Vector skin, while maximizing the various nooks and crannies that those colors reach, all while keeping everything legible and matching.

Themes

The ThemeToggle extension is installed, and allows multiple themes to be used. In the actual stylesheet below this documentation, you'll find two huge rules at the top, each containing lots of CSS color variables. They look like this:

:root,
.view-light {
    --wiki-body-background-image: none;
    --wiki-body-background-color: #f6f6f6;
    /* ... and so on */
}

.view-dark {
    --wiki-body-background-image: none;
    --wiki-body-background-color: #171717;
    /* ... and so on */
}

These are the standard light and dark themes, defined in Mediawiki:Theme-definitions. Important: if you want your wiki to only support a single theme, edit that page and remove the line you don't want (don't remove both). The :root selector is a fallback, meaning that in case something happens and ThemeToggle fails to work, the following theme will still mostly work. If you have multiple themes, you can move the :root rule to whichever you'd consider the "default" theme.

RGB variables

Every color variable has an associated --rgb variant right below it. This should be an RGB representation of the color formatted as a comma-separated list, like so: 128,255,128. Do not include the rgb() wrapper.

This is used in many places to add transparency to the color, which adds flexibility to the color palette while minimizing the amount of colors that need to be defined.

Remember to update RGB variables when changing colors. Websites that can make this conversion for you are plentiful, such as rapidtables.

List of all colors with contrast checking

The table below shows all the colors currently in use, as well as notes on how to use them. The last column shows which colors are expected to show up as text against other colors. With the exception of --wiki-content-text-mix-color--95, all text in the last column should be clearly legible. If it is not, you may need to adjust one of the referenced colors in your color palette.

Variable name Color Notes Test contrast against these variables
--wiki-body-background-image N/A This is the image path to the wiki's background image. Usually this is uploaded to File:Site-background.jpg, File:Site-background-light.jpg, and/or File:Site-background-dark.jpg. While there's not a hard file size limit, it is recommended that this not exceed 300 KB. File size can be reduced by resizing (anything over 2560x1440p is excessive), converting to a jpg, and compressed using sites like tinypng. N/A
--wiki-body-background-color The background color behind the background image. This usually only shows up if the background image doesn't load, doesn't fill the screen, or has some transparency. This color should be similar to the overall color of the background image, or the top-left corner if it is made up of many different colors. In the former case, https://matkl.github.io/average-color/ is helpful.

--wiki-body-dynamic-color
--wiki-body-dynamic-color--secondary

--wiki-body-dynamic-color This is expected to contrast sharply with the body-background-color, for cases when text needs to be displayed against it. Usually this is Template:Color on light themes and Template:Color on dark themes.

--wiki-body-background-color
--wiki-body-dynamic-color--inverted
--wiki-body-dynamic-color--secondary--inverted

--wiki-body-dynamic-color--inverted The inverse of --wiki-body-dynamic-color. This should optimally have almost no contrast with the body-background-color. N/A
--wiki-body-dynamic-color--secondary A slightly different version of body-dynamic-color. Usually this is Template:Color on light themes and Template:Color on dark themes.

--wiki-body-background-color
--wiki-body-dynamic-color--inverted
--wiki-body-dynamic-color--secondary--inverted

--wiki-body-dynamic-color--secondary--inverted The inverse of --wiki-body-dynamic-color--secondary. N/A
--wiki-body-font-family N/A The font family of most of the wiki, such as the sidebar, navigation, and content text. Usually this is sans-serif. If modifying this, use a simple font that is easy to read. See --wiki-heading-font-family if you want to incorporate a more decorative font into the theme. N/A
--wiki-content-background-color The background color of the main content area.

--wiki-content-text-color
--wiki-content-link-color
--wiki-content-link-color--visited
--wiki-content-link-color--hover
--wiki-content-redlink-color
--wiki-content-dynamic-color
--wiki-content-dynamic-color--secondary
--wiki-heading-color

--wiki-content-background-opacity N/A The opacity of the main content area, to let the wiki's background image show through. Please keep this high, usually above 0.9, or it can make reading text difficult. N/A
--wiki-content-background-color--secondary A secondary content background to highlight certain things. Usually this is --wiki-content-background-color with saturation and/or value reduced or increased by about 10%, but you're free to make it whatever you want provided the contrast checks to the right still pass.

--wiki-content-text-color
--wiki-content-link-color
--wiki-content-link-color--visited
--wiki-content-link-color--hover
--wiki-content-redlink-color
--wiki-content-dynamic-color
--wiki-content-dynamic-color--secondary
--wiki-heading-color

--wiki-content-border-color Border color for the main content area and elements within it. N/A
--wiki-content-text-color Text color for the main content area. N/A
--wiki-content-link-color Links within the content area. Please do not make this red, as red links on wikis traditionally denote pages that don't exist.

--wiki-content-link-label-color

--wiki-content-link-label-color This is used when placing text on an element with the link color as a background, such as a button. N/A
--wiki-content-link-color--visited The color of visited links. This is optional, and usually inherits --wiki-content-link-color. N/A
--wiki-content-link-color--hover The color links change to when hovered over. This is optional, and usually inherits --wiki-content-link-color. N/A
--wiki-content-redlink-color The color of links to pages that don't exist. Since these should only rarely be seen, you can be a little lax about choosing a color that contrasts with the background, but it should still be legible. N/A
--wiki-content-text-mix-color A mix of --wiki-content-text-color and --wiki-content-background-color. There are many sites that can generate this for you, such as w3schools' color mixer. This is generally used to mark disabled elements or placeholder text.

--wiki-content-background-color
--wiki-content-background-color--secondary

--wiki-content-text-mix-color-95 The same as --wiki-content-text-mix-color, but the mix is 95% --wiki-content-background-color. This is used to mark disabled elements. The contrast checker to the right should actually be very hard to read.

--wiki-content-background-color
--wiki-content-background-color--secondary

--wiki-content-dynamic-color This is expected to contrast sharply with --wiki-content-background-color. Usually this is Template:Color on light themes and Template:Color on dark themes.

--wiki-content-background-color
--wiki-content-dynamic-color--inverted
--wiki-content-dynamic-color--secondary--inverted

--wiki-content-dynamic-color--inverted The inverse of --wiki-content-dynamic-color. N/A
--wiki-content-dynamic-color--secondary A slightly different version of --wiki-content-dynamic-color. Usually this is Template:Color on light themes and Template:Color on dark themes.

--wiki-content-background-color
--wiki-content-dynamic-color--inverted
--wiki-content-dynamic-color--secondary--inverted

--wiki-content-dynamic-color--secondary--inverted The inverse of --wiki-content-dynamic-color--secondary. N/A
--wiki-heading-color The color of headings, such as the page title and section headings. Usually this is set to --wiki-content-text-color, but feel free to give it a different color to spice up the theme a little. N/A
--wiki-heading-font-family N/A The font family of headings, such as the page title and section headings. N/A
--wiki-accent-color Used to style infoboxes and some buttons, such as the save button when editing.

--wiki-accent-label-color
--wiki-accent-link-color

--wiki-accent-color--hover The color of accent-color when hovered over, in some cases. Usually this is just accent-color with saturation and/or value reduced or increased by about 10%, but you're free to make it whatever you want provided the contrast checks to the right still pass.

--wiki-accent-label-color
--wiki-accent-link-color

--wiki-accent-label-color The color of normal text against the accent color. N/A
--wiki-accent-link-color The color of links against the accent color. N/A
--wiki-sidebar-background-color The background color of the sidebar to the left of the content area. Usually this inherits --wiki-content-background-color.

--wiki-sidebar-link-color
--wiki-sidebar-heading-color

--wiki-sidebar-background-opacity N/A The background opacity of the sidebar. Usually this inherits --wiki-content-background-opacity. N/A
--wiki-sidebar-border-color The border color of the sidebar. Usually this inherits --wiki-content-border-color. N/A
--wiki-sidebar-link-color The color of links in the sidebar. Usually this inherits --wiki-content-link-color. N/A
--wiki-sidebar-heading-color The color of headings in the sidebar. Usually this inherits --wiki-content-heading-color. N/A
--wiki-navigation-background-color The primary background color of the navigation tabs above the content area. Usually this inherits --wiki-content-background-color--secondary.

--wiki-navigation-text-color

--wiki-navigation-background-color--secondary The upper background color of the navigation tabs, as well as the background color of the "More" menu dropdown. Usually this inherits --wiki-content-background-color.

--wiki-navigation-text-color

--wiki-navigation-border-color Border color of the navigation tabs. Usually this inherits --wiki-content-border-color. N/A
--wiki-navigation-text-color The color of text in the navigation tabs. Usually this inherits --wiki-content-link-color. N/A
--wiki-navigation-selected-background-color The background color of the currently active navigation tab. Usually this inherits --wiki-content-background-color

--wiki-navigation-selected-text-color

--wiki-navigation-selected-border-color The border color of the currently active navigation tab. Usually this inherits --wiki-navigation-border-color N/A
--wiki-navigation-selected-text-color The text color of the currently active navigation tab. Usually this inherits --wiki-content-text-color N/A
--wiki-alert-color A general, usually red-ish color used for negative notices.

--wiki-alert-label-color

--wiki-alert-label-color The color of text against --wiki-alert-color as a background. N/A
--wiki-warning-color A general, usually orange-ish color used for warning notices.

--wiki-warning-label-color

--wiki-warning-label-color The color of text against --wiki-warning-color as a background. N/A
--wiki-success-color A general, usually green-ish color used for success notices.

--wiki-success-label-color

--wiki-success-label-color The color of text against --wiki-success-color as a background. N/A
--wiki-icon-general-filter N/A A filter applied to many icons to make them visible on dark themes. Usually this is just invert(100%) on dark themes and blank on light themes. N/A
--wiki-icon-to-link-filter N/A A filter that converts many icons into the same color as --wiki-content-link-color. This can be generated by plugging that into https://mrpie5.gitlab.io/css-filter-generator/. N/A

Stylesheet

/* CSS placed here will be applied to all skins */

:root,
.view-sierra {
    --wiki-body-background-image: url('/images/8/80/Site-background.jpg'); /* Example: url('/images/5/57/Site-background.png') - please find the file path by viewing the image directly (not at the File: page) */
    --wiki-body-background-color: #171717;
    --wiki-body-background-color--rgb: 23, 23, 23;
    --wiki-body-dynamic-color: #ffffff;
    --wiki-body-dynamic-color--rgb: 255,255,255;
    --wiki-body-dynamic-color--inverted: #000000;
    --wiki-body-dynamic-color--inverted--rgb: 0,0,0;
    --wiki-body-dynamic-color--secondary: #dddddd;
    --wiki-body-dynamic-color--secondary--rgb: 221,221,221;
    --wiki-body-dynamic-color--secondary--inverted: #333333;
    --wiki-body-dynamic-color--secondary--inverted--rgb: 51,51,51;
    --wiki-body-font-family: sans-serif;
    
    --wiki-content-background-color: #202020;
    --wiki-content-background-color--rgb: 32,32,32;
    --wiki-content-background-opacity: 1.0;
    --wiki-content-background-color--secondary: #2b2b2b;
    --wiki-content-background-color--secondary--rgb: 43,43,43;
    --wiki-content-border-color: #DC7DFF;
    --wiki-content-border-color--rgb: 220,125,255;
    --wiki-content-text-color: #ededed;
    --wiki-content-text-color--rgb: 237,237,237;
    --wiki-content-link-color: #6d8afb;
    --wiki-content-link-color--rgb: 109,138,251;
    --wiki-content-link-label-color: #000;
    --wiki-content-link-label-color--rgb: 0,0,0;
    --wiki-content-link-color--visited: var(--wiki-content-link-color);
    --wiki-content-link-color--visited--rgb: var(--wiki-content-link-color--rgb);
    --wiki-content-link-color--hover: var(--wiki-content-link-color);
    --wiki-content-link-color--hover--rgb: var(--wiki-content-link-color--rgb);
    --wiki-content-redlink-color: #FC3B2C;
    --wiki-content-redlink-color--rgb: 252,59,44;
    --wiki-content-text-mix-color: #868686;
    --wiki-content-text-mix-color--rgb: 134,134,134;
    --wiki-content-text-mix-color-95: #2a2a2a;
    --wiki-content-text-mix-color-95--rgb: 42,42,42;
    --wiki-content-dynamic-color: #ffffff;
    --wiki-content-dynamic-color--rgb: 255, 255, 255;
    --wiki-content-dynamic-color--inverted: #000000;
    --wiki-content-dynamic-color--inverted--rgb: 0, 0, 0;
    --wiki-content-dynamic-color--secondary: #dddddd;
    --wiki-content-dynamic-color--secondary--rgb: 221, 221, 221;
    --wiki-content-dynamic-color--secondary--inverted: #333333;
    --wiki-content-dynamic-color--secondary--inverted--rgb: 51, 51, 51;

    --wiki-heading-color:  var(--wiki-content-text-color);
    --wiki-heading-color--rgb: var(--wiki-content-text-color--rgb);
    --wiki-heading-font-family: 'Linux Libertine','Georgia','Times',serif;

    --wiki-accent-color: #AF91FF;
    --wiki-accent-color--rgb: 175,145,255;
    --wiki-accent-color--hover: #9B7DFF;
    --wiki-accent-color--hover--rgb: 155,125,255;
    --wiki-accent-label-color: #000;
    --wiki-accent-label-color--rgb: 0,0,0;
    --wiki-accent-link-color: #22214d;
    --wiki-accent-link-color--rgb: 34, 33, 77;

    --wiki-sidebar-background-color: var(--wiki-content-background-color);
    --wiki-sidebar-background-color--rgb: var(--wiki-content-background-color--rgb);
    --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity);
    --wiki-sidebar-border-color: var(--wiki-content-border-color);
    --wiki-sidebar-border-color--rgb: var(--wiki-content-border-color--rgb);
    --wiki-sidebar-link-color: var(--wiki-content-link-color);
    --wiki-sidebar-link-color--rgb: var(--wiki-content-link-color--rgb);
    --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover);
    --wiki-sidebar-link-color--hover--rgb: var(--wiki-content-link-color--hover--rgb);
    --wiki-sidebar-heading-color: var(--wiki-heading-color);
    --wiki-sidebar-heading-color--rgb: var(--wiki-heading-color--rgb);

    --wiki-navigation-background-color: var(--wiki-content-background-color--secondary);
    --wiki-navigation-background-color--rgb: var(--wiki-content-background-color--secondary--rgb);
    --wiki-navigation-background-color--secondary: var(--wiki-content-background-color);
    --wiki-navigation-background-color--secondary--rgb: var(--wiki-content-background-color--rgb);
    --wiki-navigation-border-color: var(--wiki-content-border-color);
    --wiki-navigation-border-color--rgb: var(--wiki-content-border-color--rgb);
    --wiki-navigation-text-color: var(--wiki-content-link-color);
    --wiki-navigation-text-color--rgb: var(--wiki-content-link-color--rgb);
    --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover);
	--wiki-navigation-text-color--hover--rgb: var(--wiki-content-link-color--hover--rgb);
    --wiki-navigation-selected-background-color: var(--wiki-content-background-color);
    --wiki-navigation-selected-background-color--rgb: var(--wiki-content-background-color--rgb);
    --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color);
    --wiki-navigation-selected-border-color--rgb: var(--wiki-navigation-border-color--rgb);
    --wiki-navigation-selected-text-color: var(--wiki-content-text-color);
    --wiki-navigation-selected-text-color-rgb: var(--wiki-content-text-color--rgb);

    --wiki-alert-color: #ce0018;
    --wiki-alert-color--rgb: 206,0,24;
    --wiki-alert-label-color: #000000;
    --wiki-alert-label-color--rgb: 0,0,0;
    --wiki-warning-color:#cf721c;
    --wiki-warning-color--rgb: 207,114,28;
    --wiki-warning-label-color: #000000;
    --wiki-warning-label-color--rgb: 0, 0, 0;
    --wiki-success-color: #0c742f;
    --wiki-success-color--rgb: 12,116,47;
    --wiki-success-label-color: #000000;
    --wiki-success-label-color--rgb: 0,0,0;
    
    --wiki-icon-general-filter: invert(100%);
    --wiki-icon-to-link-filter: invert(60%) sepia(70%) saturate(3715%) hue-rotate(206deg) brightness(101%) contrast(97%);
}

.apply-border {
	border: 2px solid #c482fa;
	border-radius: 5px;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

.link-box {
	border: 2px solid #c482fa;
	border-radius: 5px;
	flex-basis: calc(36% - 50px);
	margin: 5px; padding: 10px;
	background: #291c2e;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.logo {
	height:200%;
	width:200%;
}

/*****************************
*     PortableInfoboxes      *
******************************/
:root {
	--pi-background: var(--wiki-content-background-color);
	--pi-secondary-background: var(--wiki-accent-color);
	--pi-secondary-background--rgb: var(--wiki-accent-color--rgb);
	--pi-secondary-background-label: var(--wiki-accent-label-color);
	--pi-border-color: rgba(var(--pi-secondary-background--rgb),0.5);
}

.portable-infobox .pi-title,
.portable-infobox .pi-header {
	text-align:center;
	font-size:1.5em;
	background:rgba(var(--pi-secondary-background--rgb), 0.75);
	color:var(--pi-secondary-background-label);
}

.portable-infobox .pi-data {
	background:rgba(var(--pi-secondary-background--rgb), 0.18);
}

.portable-infobox .pi-image {
	padding: 8px;
}

.pi-image-thumbnail {
	max-width:100%;
}

.pi-section-navigation .pi-section-tab.pi-section-active,
.pi-section-navigation .pi-section-tab.current,
.pi-media-collection .pi-tab-link.current {
	background: var(--pi-secondary-background);
	color: var(--pi-secondary-background-label);
}

/* overqualify these to overwrite normal content heading styles */
.mw-body .portable-infobox h2,
.mw-body .portable-infobox h3 {
	border-bottom: 0;
	font-family: inherit;
	font-weight: 700;
	margin: 0;
}
/*****************************
*   End PortableInfoboxes    *
******************************/

/*********************************************************************************************************************
* Semantically-correct horizontal lists (for Module:Navbox, and they're more machine-readable than {{*}}-formatting) *
**********************************************************************************************************************/
.hlist dl,
.hlist ol,
.hlist ul {
	margin: 0;
	padding: 0;
}

/* Display list items inline */
.hlist dd,
.hlist dt,
.hlist li {
	/*
	 * don't trust the note that says margin doesn't work with inline
	 * removing margin: 0 makes dds have margins again
	 * We also want to reset margin-right in Minerva
	 */
	margin: 0; 
	display: inline;
}

/* Display requested top-level lists inline */
.hlist.inline,
.hlist.inline dl,
.hlist.inline ol,
.hlist.inline ul,
/* Display nested lists inline */
.hlist dl dl,
.hlist dl ol,
.hlist dl ul,
.hlist ol dl,
.hlist ol ol,
.hlist ol ul,
.hlist ul dl,
.hlist ul ol,
.hlist ul ul {
	display: inline;
}

/* Hide empty list items */
.hlist .mw-empty-li {
	display: none;
}

/* TODO: :not() can maybe be used here to remove the later rule. naive test
 * seems to work. more testing needed. like so: */
.hlist dt:not(:last-child)::after {
	content: ": ";
}
.hlist dd:not(:last-child)::after,
.hlist li:not(:last-child)::after {
	content: " \00B7 ";;
	font-weight: bold;
}

/* Add parentheses around nested lists */
.hlist dd dd:first-child::before,
.hlist dd dt:first-child::before,
.hlist dd li:first-child::before,
.hlist dt dd:first-child::before,
.hlist dt dt:first-child::before,
.hlist dt li:first-child::before,
.hlist li dd:first-child::before,
.hlist li dt:first-child::before,
.hlist li li:first-child::before {
	content: " (";
	font-weight: normal;
}

.hlist dd dd:last-child::after,
.hlist dd dt:last-child::after,
.hlist dd li:last-child::after,
.hlist dt dd:last-child::after,
.hlist dt dt:last-child::after,
.hlist dt li:last-child::after,
.hlist li dd:last-child::after,
.hlist li dt:last-child::after,
.hlist li li:last-child::after {
	content: ")";
	font-weight: normal;
}

/* Put ordinals in front of ordered list items */
.hlist ol {
	counter-reset: listitem;
}

.hlist ol > li {
	counter-increment: listitem;
}

.hlist ol > li::before {
	content: " " counter(listitem) "\a0";
}

.hlist dd ol > li:first-child::before,
.hlist dt ol > li:first-child::before,
.hlist li ol > li:first-child::before {
	content: " (" counter(listitem) "\a0";
}
/********************************************
* End semantically-correct horizontal lists *
*********************************************/

/**********************************************************
* Template:Navbox (needs semantic horizontal lists above) *
***********************************************************/
.navbox {
	clear: both;
	margin: 1em 0;
	padding: 3px;
	font-size: 90%;
	width: 100%;
	border: 1px solid var(--wiki-content-border-color);
	box-sizing: border-box;
}
.navbox-inner,
.navbox-subgroup {
	border-spacing: 0;
	width: 100%;
}
/* Reduce spacing between adjacent navboxes */
.navbox + .navbox {
	margin-top: -1px;
}
/* Spacing between rows */
.navbox-spacer {
	height: 2px;
}
/* Title bars and labels */
.navbox-title {
	font-weight: bold;
	font-size: 115%;
	padding: 0.25em 0.6em;
	line-height: 1.5em;
	color: var(--wiki-accent-label-color);
	background: var(--wiki-accent-color);
}
.navbox-title,
.navbox-abovebelow {
	padding-left: 1em;
	padding-right: 1em;
	text-align: center;
}
.navbox-abovebelow,
.navbox-group,
.navbox-subgroup .navbox-title {
	background: rgba(var(--wiki-accent-color--rgb), 0.18);
	color: var(--wiki-content-text-color);
	border: 1px solid var(--wiki-content-border-color);
}
.navbox .navbox-title a,
.navbox .navbox-title a:visited,
.navbox .navbox-title a.external,
.navbox .navbox-title a.external:visited {
	color: var(--wiki-accent-link-color);
}
.navbox-title .mw-collapsible-toggle {
	font-weight: normal;
	text-align: right;
}
.navbox-title-text {
	font-size: 105%;
}
/* Navbox-related links */
.navbox-title .navbar {
	float: left;
	margin-right: 0.5em;
}
.navbox-title .navbar a.external::after {
    content: unset;
}
/* Groups */
.navbox-group {
	font-weight: bold;
	padding: 0 0.5em;
	white-space: nowrap;
	text-align: center;
}
/* Zebra colouring for rows */
.navbox-even {
	background: #fff1;
}
/* Subgroups: equal group labels between different child navboxes */
.navbox-subgroup > tbody > tr {
	display: flex;
}
.navbox-subgroup .navbox-title {
    width: 100%;
}
.navbox-subgroup .navbox-group {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-basis: 11em;
	flex-grow: 1;
	flex-shrink: 0;
	white-space: normal;
}
/* Lists */
.navbox-list {
	width: 100%;
	text-align: center;
}
/* Mobile adjustments */
@media screen and (max-width: 1280px) {
	.mw-body .navbox-inner table {
        display: table;
	}
}
@media screen and (max-width: 720px) {
	.mw-body .navbox {
		display: none;
	}
}
/**********************
* End Template:Navbox *
***********************/


/*******************
* Main page layout *
********************/
#mp-box-welcome {grid-area: welcome;}
#mp-box-about {grid-area: about;}
#mp-box-links {grid-area: links;}
#mp-box-contribute {grid-area: contribute;}
#mp-box-featured {grid-area: featured;}
#mp-box-basics {grid-area: basics;}
#mp-box-gallery {grid-area: gallery;}
#mp-box-iconlists {grid-area: iconlists;}

/* Example Main Page 1 Grid Layout */
#mp-layout1-container {
	display:grid;
	grid-template-areas:
		"welcome"
		"about"
		"featured"
		"basics"
		"gallery"
		"links"
		"contribute";
	grid-template-columns:100%;
	gap:10px;
}

@media screen and (min-width:990px) {
	#mp-layout1-container {
		grid-template-areas:
			"welcome welcome"
			"about about"
			"featured basics"
			"gallery links"
			"contribute contribute";
		grid-template-columns:1fr 1fr;
	}
}

@media screen and (min-width:1350px) {
	#mp-layout1-container {
		grid-template-areas:
			"welcome welcome welcome"
			"about about basics"
			"featured featured basics"
			"gallery links links"
			"contribute contribute contribute";
		grid-template-columns: 2fr 1fr 2fr;
  }
}

/* Example Main Page 2 Grid Layout */
#mp-layout2-container {
	display:grid;
	grid-template-areas:
		"welcome"
		"links"
		"about"
		"gallery"
		"iconlists"
		"contribute";
	grid-template-columns:100%;
	gap:10px;
}

@media screen and (min-width:990px) {
	#mp-layout2-container {
		grid-template-areas:
			"welcome links"
			"gallery about"
			"iconlists about"
			"iconlists contribute";
		grid-template-columns: 3fr 2fr;
	}
}

@media screen and (min-width:1350px) {
	#mp-layout2-container {
		grid-template-areas:
			"welcome welcome links"
			"welcome welcome about"
			"gallery gallery about"
			"iconlists iconlists contribute";
		grid-template-columns: 3fr 2fr 2fr;
  }
}

.mp-box {
	display:flex;
	flex-flow:column nowrap;
	width: calc(100% - 2px);
	box-sizing: border-box;
	background:rgba(var(--wiki-content-background-color--secondary--rgb), 0.25);
	border:1px solid var(--wiki-content-border-color);
	padding:0px;
}

.mp-body {
	height: 100%;
	display: flex;
	padding:0.5em;
	flex-flow: column nowrap;
}

.mp-box.centered-content .mp-body {
	height: 100%;
	display: flex;
	flex-flow: column nowrap;
	justify-content: space-evenly;
}

.mp-box.has-floating-image {
	display:block;
}

.mp-box.has-floating-image .mp-body {
	height:unset;
	display:block;
}

.mp-box h2 {
	text-align:center;
	font-weight:bold;
	font-family:var(--wiki-heading-font-family);
    overflow: initial;
	border-bottom: 1px solid var(--wiki-content-border-color);
	font-size: 150%;
	margin: 0;
	padding: 5px 0;
	color:var(--wiki-heading-color);
}

.mp-box .welcome-message {
    font-size: 200%;
	font-family: var(--wiki-heading-font-family);
    margin: 0;
    padding: 5px 0;
	color: #fff;
	filter: drop-shadow(0px 2px 3px #000);
}

#mp-box-welcome {
	text-align:center;
	position:relative;
	overflow:hidden;
}

#mp-welcome {
	display:flex;
	flex-flow:column nowrap;
	position: relative;
	height: 100%;
	z-index: 2;
	box-sizing: border-box;
}

#mp-welcome .welcome-subtitle {
	height: 100%;
	background:rgba(var(--wiki-content-dynamic-color--inverted--rgb), 0.85);
	padding:0.5em;
}

#mp-banner {
    position: absolute;
    width: 100%;
    height: 100%;
    filter: blur(5px);
    z-index: -1;
    background: url(/images/e/e0/MP_banner.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
}

.view-dark #mp-banner {
	filter: blur(5px) brightness(50%);
}

.view-light #mp-banner {
	filter: blur(5px) contrast(50%);
}

/* [[Template:MP_link]] */
.mp-links {
  --gap:10px;
}

.mp-links > ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-evenly;
	margin: 2px;
	gap:var(--gap);
}

.mp-links > ul > li {
	display:flex;
	flex-flow:column nowrap;
	align-items:stretch;
	text-align: center;
	box-sizing:border-box;
	flex: max(calc(50% - var(--gap)), 5em) 1 1;
	outline:1px solid var(--wiki-content-link-color);
	transition:0.1s ease-in;
}

.mp-links > ul > li:hover {
	background-color:rgba(var(--wiki-content-link-color--rgb), 0.2);
}

.mp-links.columns-1 > ul > li {flex: max(calc(100% - var(--gap)), 5em) 1 1;}
.mp-links.columns-2 > ul > li {flex: max(calc(50% - var(--gap)), 5em) 1 1;}
.mp-links.columns-3 > ul > li {flex: max(calc((100% / 3) - var(--gap)), 5em) 1 1;}
.mp-links.columns-4 > ul > li {flex: max(calc(25% - var(--gap)), 5em) 1 1;}
.mp-links.columns-5 > ul > li {flex: max(calc(20% - var(--gap)), 5em) 1 1;}
.mp-links.columns-6 > ul > li {flex: max(calc((100% / 6) - var(--gap)), 5em) 1 1;}
.mp-links.columns-7 > ul > li {flex: max(calc((100% / 7) - var(--gap)), 5em) 1 1;}

.mp-links > ul > li:hover a {
	text-decoration: underline;
}

.mp-links > ul > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	height:100%;
	flex:1 1 auto;
	box-sizing:border-box;
	padding:5px;
}

.mp-links > ul > li > a:first-child {
  height:100%;
}

.mp-links > ul > li > a:last-child:not(:first-child) {
  height:unset;
}

.mp-links.stretch,
.mp-links.stretch > ul {
	height:100%;
}

.mp-links.side-image li {
	flex-flow:row nowrap;
}

/* MP icon lists */
.mp-iconlists {
	display: flex;
    flex-flow: wrap;
    gap: 5px 20px;
}

.mp-iconlists > .mp-iconlist {
	flex: 1;
    min-width: fit-content;
}

.mp-iconlist > h3 {
	padding: 0;
	margin: 0;
}

.mp-iconlist > ul {
	list-style: none;
	margin: 0;
}

/* MP gallery */
.mp-box ul.gallery.gallery.gallery { /* this selector looks ridiculous but is actually part of stock Vector and therefore a necessary override */
    display: flex;
    flex-flow: wrap;
    gap: 5px 10px;
    align-items: flex-end;
    justify-content: space-evenly;
    margin: 0;
}

.mp-box ul.gallery .gallerytext {
	margin-top: 1em;
	padding: 0;
    background-color: var(--wiki-content-background-color--secondary);
    border: 1px solid var(--wiki-content-link-color);
}

.mp-box .gallerybox:hover .gallerytext {
    background-color: rgba(var(--wiki-content-link-color--rgb), 0.2);
}

.mp-box ul.gallery .gallerytext > p {
	margin: 0;
}

.mp-box ul.gallery .gallerytext a {
	display: block;
    padding: .5em 0;
}

/***********************
* End main page layout *
************************/

/***********************
* Start DRUID infoboxes *
************************/

.druid-container {
    /* These variables are designed to inherit from your wiki's color variables.
       If your wiki uses a different naming scheme, change the inner names to match yours.
       If your wiki doesn't use color variables you should consider doing so,
       otherwise you can replace the inner variables or the fallback values with colors that match your wiki.
    */
    --druid-background-color: var(--wiki-content-background-color, #ffffff);
    --druid-background-color--rgb: var(--wiki-content-background-color--rgb, 255, 255, 255);
    
    --druid-secondary-background-color: var(--wiki-accent-color, #36c);
    --druid-secondary-background-color--rgb: var(--wiki-accent-color--rgb, 51, 102, 204);
    --druid-secondary-background-label-color: var(--wiki-accent-label-color, #fff);
    --druid-secondary-background-label-color--rgb: var(--wiki-accent-label-color--rgb, 255, 255, 255);
    
    --druid-tertiary-background-color: var(--wiki-content-background-color--secondary, #eaecf0);
    --druid-tertiary-background-color--rgb: var(--wiki-content-background-color--secondary--rgb, 234, 236, 240);
    
    --druid-border-color: var(--wiki-content-border-color, #a7d7f9);
    --druid-border-color--rgb: var(--wiki-content-border-color--rgb, 167, 215, 249);
    
    --druid-link-color: var(--wiki-content-link-color, #0645ad);
    --druid-link-color--rgb: var(--wiki-content-link-color--rgb, 6, 69, 173);
    --druid-link-label-color: var(--wiki-content-link-label-color, #fff);
    --druid-link-label-color--rgb: var(--wiki-content-link-label-color--rgb, 255, 255, 255);
}

.druid-container {
    border: 4px solid var(--druid-border-color);
    border-radius: 3px;
    background: var(--druid-background-color);
    float: right;
    clear: right;
    margin: 0 0 1em 1em;
	width:100%;
	max-width:22em;
    box-sizing: border-box;
    border-collapse: collapse;
}

@media screen and (max-width: 720px) {
  .druid-container {
    float: none;
    margin: 0.5rem auto;
  }
}

.druid-main-images-file,
.druid-main-image {
    text-align:center;
}

.druid-infobox .druid-title,
.druid-infobox .druid-section {
    background:rgba(var(--druid-secondary-background-color--rgb), 0.75);
    color:var(--druid-secondary-background-label-color);
    text-align:center;
    font-size:1.5em;
    padding:1px;
}

.druid-infobox .druid-section {
    font-size: 1.25em;
    font-weight: 600;
}

.druid-label {
    font-weight:bold;
    text-align: right;
	box-sizing: border-box;
}

.druid-row > .druid-label {
    width: 48%;
    flex-shrink: 0;
}

.druid-row > .druid-label,
.druid-row > .druid-data {
	padding-inline: 0.3em;
	padding-block: 0.1rem;
}

.druid-main-image,
.druid-main-images {
    padding:5px;
}

.druid-main-image img, 
.druid-main-images img {
    max-width:100%;
    height:auto;
}

.druid-main-images-labels {
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content: space-evenly;
    margin:0.25em;
    gap:0.25em;
}

.druid-main-images-label {
    cursor:pointer;
    flex:1 1 auto;
    text-align:center;
    transition:.1s ease-in;
    outline:1px solid var(--druid-link-color);
}

.druid-main-images-label.focused {
    background:var(--druid-link-color);
    color:var(--druid-link-label-color);
}

.druid-main-images-label:not(.focused):hover {
    background:rgba(var(--druid-link-color--rgb), 0.25);
}

.druid-toggleable-data:not(.focused),
.druid-main-images-file:not(.focused),
.druid-toggleable-heading:not(.focused) {
    display:none;
}

.druid-row:not(:has(.druid-grid)):has(.druid-toggleable-data-empty.focused) {
    display:none;
}

.druid-section:has(.druid-toggleable-heading-empty.focused) {
    display:none;
}

.druid-grid {
    display:grid;
    gap: 0.3em;
	padding: 0.35em;
}

.druid-grid-item {
    background:var(--druid-tertiary-background-color);
    padding:0.25em;
    border:1px solid rgba(var(--druid-border-color--rgb), 0.5);
    border-radius: 2px;
}

.druid-grid-item > .druid-label,
.druid-grid-item > .druid-data {
	text-align: center;
}

.druid-data-wide {
	width:100%;
}

.druid-section-container > .druid-collapsible {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.druid-collapsed {
    display:none!important;
}

.druid-collapsible {
    cursor:pointer;
    position:relative;
}

.druid-collapsible > .druid-section {
	width: 100%;
}

.druid-collapsible::after {
    content:'\2013';
    display:block;
    position:absolute;
    right:10px;
    font-size:20px;
    font-weight:bold;
    color:var(--druid-secondary-background-label-color);
}

.druid-collapsible-collapsed::after {
    content:'+';
}

.druid-section-container:has(.druid-toggleable-data-empty.focused):not(:has(.druid-toggleable-data-nonempty.focused)):not(:has(.druid-data-nonempty)) {
  display: none;
}

/*****************************************
Div support
*****************************************/

div.druid-row {
    display:flex;
    margin-block: 1px;
}

div.druid-row + div.druid-row {
	margin-top: 0;
}

div.druid-row > .druid-label {
	background: var(--druid-tertiary-background-color);
}

.druid-infobox .druid-title {
  font-weight: 700;
}

.druid-infobox #toc {
    display:none;
}


/********
Custom display classes
*********/

div.druid-stacked.druid-row,
.druid-stacked div.druid-row {
    flex-direction: column;
}

.druid-stacked.druid-row > .druid-label,
.druid-stacked .druid-row > .druid-label {
    text-align: left;
    width: 100%;
    flex-basis:unset;
}

.druid-stacked.druid-row > .druid-data,
.druid-stacked .druid-row > .druid-data {
    padding-left: .75em;
}

/*****************************************
Div support
*****************************************/

div.druid-row {
    display:flex;
    margin-block: 1px;
}

div.druid-row + div.druid-row {
	margin-top: 0;
}

div.druid-row > .druid-label {
	background: var(--druid-tertiary-background-color);
}

.druid-infobox .druid-title {
  font-weight: 700;
}

.druid-infobox #toc {
    display:none;
}

/***********************
* End DRUID infoboxes  *
************************/

/*** Miscellaneous ***/
.responsive-image {
	max-width:100%;
	height:auto;
}

.view-dark .invert-on-dark,
.view-light .invert-on-light {
    filter:invert(100%);
}

.pixelated {
  image-rendering:pixelated;
}

@media screen and (min-width:720px) {
	.mobileonly {
		display:none;
	}
}
@media screen and (max-width:720px) {
	.nomobile {
		display:none;
	}
}

/*** Utility classes for standard MW galleries ***/
/* it's important that spaced comes before centered in the sheet */
.gallery.gallery.gallery.spaced { /* this selector looks ridiculous but is actually part of stock Vector and therefore a necessary override */
    display:flex;
    flex-flow:row wrap;
    justify-content:space-evenly;
    margin-left:unset;
}

.gallery.centered {
    text-align:center;
}

/**************************
* Start Modular Templates *
**************************/

/********* [[Template:Ambox]] *********/
.ambox {
	border: 1px solid var(--wiki-content-border-color);
	border-left: 10px solid var(--wiki-accent-color);
	border-radius: 2px;
	display: flex;
	align-items: center;
	gap: .6em;
	margin: 1em 0;
	padding: 3px .6em;
	background-color: var(--wiki-content-background-color--secondary);
	box-shadow: 2px 2px 5px 0px #0002;
}

@media (min-width: 720px) {
	.ambox {
		margin-inline: 10%;
	}
}

.ambox.tiny {
	padding: .04rem .5em;
	margin-inline: 0;
    width: fit-content;
}

.ambox + .ambox {
	margin-top: -.6em;
}

.ambox-content p {
	margin: .15em 0;
}

.ambox-title {
	font-weight: bold;
}

/********* [[Template:Hatnote]] *********/
.hatnote {
    padding: 1px 0 1px 1.6em;
    margin-bottom: 0.5em;
    font-style: italic;
    border-top: 1px solid var(--wiki-body-dynamic-color--secondary--inverted);
    border-bottom: 1px solid var(--wiki-body-dynamic-color--secondary--inverted);
}

.hatnote.icon {
	padding-left: 0;	
}

/********* [[Template:Spoiler]] *********/
.spoiler-content {
  background-color: rgb(127, 127, 127);
  transition: all 0.3s;
  cursor: pointer;
}

.spoiler-content > span {
  opacity: 0;
  transition: all 0.3s;
}

.spoiler-content > * {
  pointer-events:none;
}

.spoiler-content.show > * {
  pointer-events:unset;
}

.spoiler-content.show {
  background-color: rgba(127, 127, 127, 0);
}

.spoiler-content.show > span {
  opacity: 1;
}

/********* [[Template:Link icon]] *********/
.link-icon {
	--link-icon-line-height: 1.5em;
	--link-icon-size: 1.5em;	
	display: inline-flex; 
	align-items: center;
    height: var(--link-icon-line-height);
    vertical-align: bottom;
}

.link-icon .regular {
    align-self: center;
}

.link-icon .regular a {
	display: flex;
}

.link-icon .regular img {
	height: var(--link-icon-size);
	max-width: var(--link-icon-size);
}

.link-icon .fallback {
	outline: 1px solid var(--wiki-content-text-color);
	border-radius: 50%;
	text-align: center;
	width: var(--link-icon-size);
	line-height: var(--link-icon-size);
}

.link-icon.notext .fallback {
	display: inline-block;
}

.link-icon.notext {
    display: inline;
}

/********* [[Template:Quote]] *********/
.quote {
    background: var(--wiki-content-background-color--secondary);
    border-radius: 5px;
    border: 2px solid var(--wiki-content-border-color);
    margin: .5em 0;
    padding: .5em;
}

.quote .block {
	display: block;
}

.quote .title {
	font-size: large;
    font-weight: bold;
}

.quote .content {
	font-style: italic;
}

.quote .author {
	font-weight: bold;
	text-align: end;
}

.quote .marks-wrapper {
	display: flex;
	gap: 5px;
}

.quote .marks-wrapper::before,
.quote .marks-wrapper::after {
	font-size: 100px;
    line-height: 0px;
}

.quote .marks-wrapper::before {
	content: "\201C";
	margin-top: 40px;
}

.quote .marks-wrapper::after {
	content: "\201D";
	align-self: end;
	margin-bottom: -10px;
}

.client-js .mw-charinsert-item {
 display:none;
}

/************************
* End Modular Templates *
*************************/

.eInfobox {
  background-color: #4e4e4e;
}
.eInfobox {
  font-size: 11px;
  width: 280px;
  border: thin solid #000;
  float: right;
  margin: 0 0 10px 10px;
}