Difference between revisions of "MediaWiki:Common.css"

From Corruption of Champions II
Jump to navigation Jump to search
m
m
 
Line 400: Line 400:
 
/* {{pp-template}} */
 
/* {{pp-template}} */
 
/**
 
/**
  * Classes to make row N or thead top sticky, and/or column N left sticky.
+
  * Make first row or thead element top sticky.
* Reverse collapsible behavior:
 
* - Show (not mw-collapsed): Enabled w/ scroll and sticky.
 
* - Hide (mw-collapsed): Disabled w/o scroll or sticky.
 
*
 
* Div classes:
 
* - sticky-table-collapsible: Adds collapsible; contains scroll div.
 
* - sticky-table-scroll: Adds scroll; contains table.
 
 
  *
 
  *
 
  * Table classes:
 
  * Table classes:
  * - sticky-table-head: Top sticky thead rows.
+
  * - sticky-header: sticky first row.
* - sticky-table-row1: Top sticky first row.
+
  * - sticky-header-multi: sticky thead; headers moved via sortable + JavaScript.
  * - sticky-table-row2: Top sticky second row.
 
* - sticky-table-col1: Left sticky first column.
 
* - sticky-table-col2: Left sticky second column.
 
 
  *
 
  *
  * Cell classes:
+
  * Tested:
  * - sticky-table-none: Cell not sticky to fix span issues.
+
  * - Windows 10: (all skins) Chrome, Firefox, Edge.
  * - sticky-table-left: Cell left sticky to fix span issues.
+
* - Android Galaxy S21 (Minerva): Chrome, Firefox.
 +
* - iPhone SE 2020 (Minerva): Chrome, Edge, Firefox, Opera, Safari.
 +
  * - Wikipedia Android app.
 +
* - Print: Not styled.
 +
* - No JavaScript.
 
  *
 
  *
 
  * Notes:
 
  * Notes:
 
  * - Sortable moves to thead any header rows and (after sort) sorttop rows.
 
  * - Sortable moves to thead any header rows and (after sort) sorttop rows.
 
  * - Sticky gadget (.mw-sticky-header) moves to thead any wikitable header rows.
 
  * - Sticky gadget (.mw-sticky-header) moves to thead any wikitable header rows.
  * - Collapsible states reversed due to anchor links removing "mw-collapsed".
+
*
  *  Also reverses the "aria-expanded" attribute's true/false value.
+
* Issues:
 +
  * - Sticky in Timeless any width and other skins at <=639px width: tables wider
 +
*  than content area overflow and horizontal table scroll lost.
 +
* - Monobook <=550px width, can't override style:
 +
  *  body.skin--responsive .monobook-body {overflow: auto;}
 
  */
 
  */
@media screen {
+
@media screen and (min-width: 640px) {
  /**
 
  * Div containers with collapsible and restricted height/width + scroll.
 
  */
 
  .sticky-table-collapsible {
 
    margin-bottom: 1em; /* Moved from table. */
 
    margin-top: 1em; /* Moved from table. */
 
  }
 
  .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-scroll {
 
    max-height: 75vh;
 
    max-width: max-content; /* Vertical scroll next to div. */
 
    min-width: 50px; /* In case another element floats right. */
 
    overflow-y: auto;
 
  }
 
  .sticky-table-collapsible table {
 
    margin-bottom: 0; /* Move to div. */
 
    margin-top: 0; /* Move to div. */
 
  }
 
  .sticky-table-collapsible table > caption {
 
    text-align: left; /* Fix narrow, centered caption hidden on wide table. */
 
  }
 
 
 
  /**
 
  * Modify collapsible.
 
  */
 
  /* Button. */
 
  .sticky-table-collapsible > .mw-collapsible-toggle {
 
    float: none; /* Was "right". */
 
    padding-left: 0; /* Was "0.2em". */
 
    padding-right: 0; /* Was "0.2em". */
 
    display: none; /* Was "inline-block". Hide. Below shows on mobile. */
 
  }
 
  @media (max-width: 639px), (max-height: 639px) {
 
    .sticky-table-collapsible > .mw-collapsible-toggle {
 
      display: inline-block; /* Reset. */
 
    }
 
  }
 
  .sticky-table-collapsible .mw-collapsible-text {
 
    font-size: 88%;
 
  }
 
  /* Disabled. */
 
  .sticky-table-collapsible.mw-collapsed .mw-collapsible-content {
 
    display: block !important; /* Was "none". */
 
  }
 
 
 
 
   /**
 
   /**
 
   * Make top sticky.
 
   * Make top sticky.
 
   */
 
   */
   .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-row1:not(.sticky-table-row2):not(.sticky-table-head) > thead > tr:nth-child(1),
+
   .sticky-header > thead > tr:first-child,
   .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-row1:not(.sticky-table-row2):not(.sticky-table-head) > caption + tbody > tr:nth-child(1),
+
   .sticky-header > caption + tbody > tr:first-child,
   .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-row1:not(.sticky-table-row2):not(.sticky-table-head) > tbody:first-child > tr:nth-child(1),
+
   .sticky-header > tbody:first-child > tr:first-child,
  .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-row2:not(.sticky-table-row1):not(.sticky-table-head) > thead > tr:nth-child(2),
+
   .sticky-header-multi > thead {
  .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-row2:not(.sticky-table-row1):not(.sticky-table-head) > caption + tbody > tr:nth-child(2),
 
  .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-row2:not(.sticky-table-row1):not(.sticky-table-head) > tbody:first-child > tr:nth-child(2),
 
   .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-head:not(.sticky-table-row1):not(.sticky-table-row2) > thead {
 
 
     position: sticky; /* Was "static". */
 
     position: sticky; /* Was "static". */
 
     top: 0;
 
     top: 0;
 
     z-index: 10;
 
     z-index: 10;
 
   }
 
   }
 
+
   /* Timeless overflowed tables not sticky. */
   /**
+
   body.skin-timeless .content-table-wrapper.overflowed .sticky-header > thead > tr:first-child,
  * Make left sticky.
+
  body.skin-timeless .content-table-wrapper.overflowed .sticky-header > caption + tbody > tr:first-child,
  */
+
   body.skin-timeless .content-table-wrapper.overflowed .sticky-header > tbody:first-child > tr:first-child,
   .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-col1:not(.sticky-table-col2) > * > tr > :nth-child(1):not(.sticky-table-none),
+
   body.skin-timeless .content-table-wrapper.overflowed .sticky-header-multi > thead {
   .sticky-table-collapsible:not(.mw-collapsed) .sticky-table-col2:not(.sticky-table-col1) > * > tr > :nth-child(2):not(.sticky-table-none),
+
     position: static; /* Reset to prior. */
   .sticky-table-collapsible:not(.mw-collapsed) table > * > tr > .sticky-table-left {
 
     position: sticky; /* Was "static". */
 
    left: 0;
 
    z-index: 9;
 
 
   }
 
   }
  
 
   /**
 
   /**
 
   * Fix scrolling data shows through sticky's transparent background.
 
   * Fix scrolling data shows through sticky's transparent background.
  *
 
  * Note: ":not(.mw-collapsed)" removed so "row hover highlight" hover works.
 
 
   */
 
   */
   .sticky-table-collapsible table:not(.wikitable) {
+
  /* Plain table headers. */
     background-color: white;
+
   .sticky-header:not(.wikitable),
 +
  .sticky-header-multi:not(.wikitable) {
 +
     background-color: var(--color-inverted, #fff);
 
   }
 
   }
   .sticky-table-collapsible table > thead,
+
   /* Plain table headers. */
   .sticky-table-collapsible table > tbody,
+
   .sticky-header:not(.wikitable) > *, /* For thead, tbody. */
   .sticky-table-collapsible table > tfoot,
+
   .sticky-header:not(.wikitable) > thead > tr:first-child,
   .sticky-table-collapsible table > * > tr,
+
   .sticky-header:not(.wikitable) > caption + tbody > tr:first-child,
   .sticky-table-collapsible table > * > tr > td,
+
   .sticky-header:not(.wikitable) > tbody:first-child > tr:first-child,
   .sticky-table-collapsible :not(.wikitable) > * > tr > th {
+
   .sticky-header-multi:not(.wikitable) > thead,
 +
  /* Wikitable and plain table .sorttop rows after sort. */
 +
  .sticky-header-multi > thead {
 
     background-color: inherit;
 
     background-color: inherit;
 
   }
 
   }
Line 521: Line 470:
 
   *
 
   *
 
   * Skip very rare Timeless plain table ".mw-datatable" collapsed boarders.
 
   * Skip very rare Timeless plain table ".mw-datatable" collapsed boarders.
  *
 
  * Note: {{Static row numbers}} border separating header/sorttop from numbers
 
  * missing and may not be fixable until Wikipedia supports newer CSS.
 
 
   */
 
   */
   .sticky-table-collapsible:not(.mw-collapsed) .wikitable {
+
   .sticky-header.wikitable,
 +
  .sticky-header-multi.wikitable {
 
     border-collapse: separate; /* Was "collapse". */
 
     border-collapse: separate; /* Was "collapse". */
 
     border-spacing: 0;
 
     border-spacing: 0;
 +
    border-width: 0 1px 1px 0;
 +
  }
 +
  .sticky-header.wikitable td,
 +
  .sticky-header.wikitable th,
 +
  .sticky-header-multi.wikitable td,
 +
  .sticky-header-multi.wikitable th {
 
     border-width: 1px 0 0 1px;
 
     border-width: 1px 0 0 1px;
 
   }
 
   }
   .sticky-table-collapsible:not(.mw-collapsed) .wikitable > * > tr > td,
+
   body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header.wikitable,
   .sticky-table-collapsible:not(.mw-collapsed) .wikitable > * > tr > th {
+
   body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header-multi.wikitable {
     border-width: 0 1px 1px 0;
+
     border-bottom-width: 0.2em;
 +
    padding: 0;
 
   }
 
   }
 
   /* Adjust {{static row numbers}} borders. */
 
   /* Adjust {{static row numbers}} borders. */
   .sticky-table-collapsible:not(.mw-collapsed) .static-row-numbers.wikitable > * > tr::before {
+
   .sticky-header.static-row-numbers.wikitable tr::before,
     border-right-width: 1px;
+
  .sticky-header-multi.static-row-numbers.wikitable tr::before {
 +
     border-left-width: 1px;
 
   }
 
   }
   /* .sticky-table-collapsible:not(.mw-collapsed) .static-row-numbers.wikitable > * > .sorttop:not(:has(~ .sorttop))::before, */
+
   .sticky-header.static-row-numbers.wikitable > thead > tr:first-child::before,
   .sticky-table-collapsible:not(.mw-collapsed) .static-row-numbers.wikitable > tbody > tr:last-child::before,
+
  .sticky-header.static-row-numbers.wikitable > caption + tbody > tr:first-child::before,
   .sticky-table-collapsible:not(.mw-collapsed) .static-row-numbers.wikitable > tfoot > tr:last-child::before {
+
  .sticky-header.static-row-numbers.wikitable > tbody:first-child > tr:first-child::before,
     border-bottom-width: 1px;
+
   .sticky-header-multi.static-row-numbers.wikitable > thead > tr:first-child::before,
 +
  .sticky-header-multi.static-row-numbers.wikitable > caption + tbody > tr:first-child::before,
 +
   .sticky-header-multi.static-row-numbers.wikitable > tbody:first-child > tr:first-child::before,
 +
  /* Sortbotton #1: all. When supported, consolidate #1-2 to tr:nth-child(1 of .sortbottom)::before */
 +
  .sticky-header.static-row-numbers.wikitable .sortbottom::before,
 +
  .sticky-header-multi.static-row-numbers.wikitable .sortbottom::before {
 +
     border-top-width: 1px;
 
   }
 
   }
   .sticky-table-collapsible:not(.mw-collapsed) .static-row-numbers.wikitable > tbody > tr:not(.static-row-header)::before {
+
  /* Sortbottom #2: all minus 1st. */
     border-top-width: 0 !important;
+
   .sticky-header.static-row-numbers.wikitable .sortbottom ~ .sortbottom::before,
    border-left-width: 0 !important;
+
  .sticky-header-multi.static-row-numbers.wikitable .sortbottom ~ .sortbottom::before {
 +
     border-top-width: 0;
 
   }
 
   }
 
+
   /* After sort, "tbody:first-of-type" targets "tbody>tr:first-child". */
   /**
+
   .sticky-header.static-row-numbers.wikitable > tbody:first-of-type > tr:not(.static-row-header)::before,
  * Fix Timeless skin very wide tables not sticky.
+
   .sticky-header-multi.static-row-numbers.wikitable > tbody:first-of-type > tr:not(.static-row-header)::before {
  */
+
    border-bottom-width: 0;
   body.skin-timeless .sticky-table-collapsible:not(.mw-collapsed) .overflowed,
+
     border-right-width: 0;
   body.skin-timeless .sticky-table-collapsible:not(.mw-collapsed) .overflowed .content-table {
 
     overflow: visible; /* Reset. */
 
 
   }
 
   }
   body.skin-timeless .sticky-table-collapsible:not(.mw-collapsed) .overflowed {
+
  /* Timeless overflowed tables not sticky. */
     margin-top: 0; /* Was "1em". */
+
   body.skin-timeless .content-table-wrapper.overflowed .sticky-header.wikitable,
     margin-bottom: 0; /* Was "1em". */
+
  body.skin-timeless .content-table-wrapper.overflowed .sticky-header-multi.wikitable {
 +
     border-collapse: collapse; /* Reset to prior. */
 +
     border-width: 1px; /* Reset to prior. */
 
   }
 
   }
   body.skin-timeless .sticky-table-collapsible:not(.mw-collapsed) .scroll-right.overflowed .content-table-right {
+
}
     box-shadow: none; /* Reset. */
+
 
    border-left: none; /* Reset. */
+
/**
 +
* Adjust to other sticky elements.
 +
*/
 +
@media screen and (min-width: 1120px) {
 +
  /* Vector (2022) width >=1120px: Below sticky header bar. */
 +
   body.vector-sticky-header-visible .sticky-header > thead > tr:first-child,
 +
  body.vector-sticky-header-visible .sticky-header > caption + tbody > tr:first-child,
 +
  body.vector-sticky-header-visible .sticky-header > tbody:first-child > tr:first-child,
 +
  body.vector-sticky-header-visible .sticky-header-multi > thead {
 +
     top: 3.125rem;
 
   }
 
   }
   body.skin-timeless .sticky-table-collapsible:not(.mw-collapsed) .wikitable {
+
}
     padding: 0;
+
@media screen and (min-width: 851px) {
 +
  /* Timeless width >=851px: Below sticky header bar. */
 +
   body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header > thead > tr:first-child,
 +
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header > caption + tbody > tr:first-child,
 +
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header > tbody:first-child > tr:first-child,
 +
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header-multi > thead {
 +
     top: 3.51em;
 
   }
 
   }
 +
}
  
  /**
+
/**
  * Fix skins width <=639px (mobile) not sticky.
+
* Fix "Sticky Table Headers" gadget issues; this template has priority.
  */
+
*/
  @media (max-width: 639px) {
+
@media screen {
    body.skin-minerva .sticky-table-collapsible:not(.mw-collapsed) table,
+
  .sticky-header.jquery-tablesorter > thead,
    body.skin-monobook .sticky-table-collapsible:not(.mw-collapsed) table,
+
  .sticky-header.mw-sticky-header > thead {
    body.skin-vector-legacy .sticky-table-collapsible:not(.mw-collapsed) table,
+
     position: static; /* Was "sticky". */
     body.skin-vector-2022 .sticky-table-collapsible:not(.mw-collapsed) table {
+
     top: auto; /* Was "0". */
      display: table; /* Was "block". */
+
     z-index: auto; /* Was "10". */
     }
 
    body.skin-minerva .sticky-table-collapsible:not(.mw-collapsed) table > caption {
 
      display: table-caption; /* Was "block". */
 
     }
 
  }
 
 
 
  /**
 
  * Fix "Sticky Table Headers" gadget styles causing sticky issues.
 
  */
 
  .sticky-table-collapsible:not(.mw-collapsed) .jquery-tablesorter > thead,
 
  .sticky-table-collapsible:not(.mw-collapsed) .mw-sticky-header > thead {
 
    top: 0 !important; /* Was value based on skin and max/min width. */
 
 
   }
 
   }
   .sticky-table-collapsible:not(.mw-collapsed) .jquery-tablesorter > tfoot,
+
   .sticky-header.jquery-tablesorter > tfoot,
   .sticky-table-collapsible:not(.mw-collapsed) .mw-sticky-header > tfoot {
+
  .sticky-header.mw-sticky-header > tfoot,
 +
  .sticky-header-multi.jquery-tablesorter > tfoot,
 +
   .sticky-header-multi.mw-sticky-header > tfoot {
 
     position: static; /* Was "sticky". */
 
     position: static; /* Was "sticky". */
 
     bottom: auto; /* Was "0". */
 
     bottom: auto; /* Was "0". */
 +
    z-index: auto; /* Was "10". */
 +
  }
 +
}
 +
@media screen and (min-width: 1120px) {
 +
  body.skin-vector-2022.vector-sticky-header-visible .sticky-header.jquery-tablesorter > thead {
 +
    top: auto; /* Was "3.125rem". */
 +
  }
 +
  html.client-js.vector-sticky-header-enabled .sticky-header .mw-sticky-header-element {
 +
    top: auto !important; /* Was "3.125rem !important". */
 
   }
 
   }
 
}
 
}
 
+
@media screen and (min-width: 851px) {
@media all {
+
   body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header.jquery-tablesorter > thead,
   /* Set important to override template parameter. */
+
   body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header.mw-sticky-header > thead {
   .sticky-table-collapsible.mw-collapsed .sticky-table-scroll {
+
     top: auto; /* Was "3.125rem". */
     max-height: none !important; /* Default. */
 
    max-width: none !important; /* Default. */
 
 
   }
 
   }
 
}
 
}

Latest revision as of 06:07, 11 February 2026

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

/* Navbar styling when nested in infobox and navbox */
.infobox .navbar {
    font-size: 100%;
}
.navbox .navbar {
    display: block;
    font-size: 100%;
}
.navbox-title .navbar {
    /* @noflip */
    float: left;
    /* @noflip */
    text-align: left;
    /* @noflip */
    margin-right: 0.5em;
    width: 6em;
}

/* 'show'/'hide' buttons created dynamically by the CollapsibleTables javascript
   in [[MediaWiki:Common.js]] are styled here so they can be customised. */
.collapseButton {
    /* @noflip */
    float: right;
    font-weight: normal;
    /* @noflip */
    margin-left: 0.5em;
    /* @noflip */
    text-align: right;
    width: auto;
}
/* In navboxes, the show/hide button balances the v·d·e links
   from [[Template:Navbar]], so they need to be the same width. */
.navbox .collapseButton {
    width: 6em;
}

/* Styling for JQuery makeCollapsible, matching that of collapseButton */
.mw-collapsible-toggle {
    font-weight: normal;
    /* @noflip */
    text-align: right;
}
.navbox .mw-collapsible-toggle {
    width: 6em;
}

/* Infobox template style */
.infobox {
    border: 1px solid #aaa;
    border-spacing: 3px;
    background-color: #f9f9f9;
    color: black;
    /* @noflip */
    margin: 0.5em 0 0.5em 1em;
    padding: 0.2em;
    /* @noflip */
    float: right;
    /* @noflip */
    clear: right;
    font-size: 88%;
    line-height: 1.5em;
}
.infobox caption {
    font-size: 125%;
    font-weight: bold;
    padding: 0.2em;
}
.infobox td,
.infobox th {
    vertical-align: top;
    /* @noflip */
    text-align: left;
}
.infobox.bordered {
    border-collapse: collapse;
}
.infobox.bordered td,
.infobox.bordered th {
    border: 1px solid #aaa;
}
.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
    border: 0;
}

.infobox.sisterproject {
    width: 20em;
    font-size: 90%;
}

.infobox.standard-talk {
    border: 1px solid #c0c090;
    background-color: #f8eaba;
}
.infobox.standard-talk.bordered td,
.infobox.standard-talk.bordered th {
    border: 1px solid #c0c090;
}

/* styles for bordered infobox with merged rows */
.infobox.bordered .mergedtoprow td,
.infobox.bordered .mergedtoprow th {
    border: 0;
    border-top: 1px solid #aaa;
    /* @noflip */
    border-right: 1px solid #aaa;
}

.infobox.bordered .mergedrow td,
.infobox.bordered .mergedrow th {
    border: 0;
    /* @noflip */
    border-right: 1px solid #aaa;
}

/* Styles for geography infoboxes, eg countries,
   country subdivisions, cities, etc.            */
.infobox.geography {
    border-collapse: collapse;
    line-height: 1.2em;
    font-size: 90%;
}

.infobox.geography  td,
.infobox.geography  th {
    border-top: 1px solid #aaa;
    padding: 0.4em 0.6em 0.4em 0.6em;
}
.infobox.geography .mergedtoprow td,
.infobox.geography .mergedtoprow th {
    border-top: 1px solid #aaa;
    padding: 0.4em 0.6em 0.2em 0.6em;
}

.infobox.geography .mergedrow td,
.infobox.geography .mergedrow th {
    border: 0;
    padding: 0 0.6em 0.2em 0.6em;
}

.infobox.geography .mergedbottomrow td,
.infobox.geography .mergedbottomrow th {
    border-top: 0;
    border-bottom: 1px solid #aaa;
    padding: 0 0.6em 0.4em 0.6em;
}

.infobox.geography .maptable td,
.infobox.geography .maptable th {
    border: 0;
    padding: 0;
}

/* Theme */
hr {
    overflow: hidden;
}

/* Tabber */
.tabber .tabbertab {
    padding: 0;
    /* border: 1px solid #CCC; */
    border: none;
}

ul.tabbernav li a:link {
    border-radius: 2px;
}

ul.tabbernav {
    margin: 0;
    padding: 0;
    /* border-bottom: none; */
    font-weight: bold;
}

ul.tabbernav li {
    list-style: none;
    margin: .5em 0;
    padding: 0;
}

ul.tabbernav li a {
    padding: 3px .5em;
    margin-left: 3px;
    background: #eaecf0;
    border: 1px solid #a2a9b1;
    text-decoration: none;
    white-space: pre;
}

ul.tabbernav li.tabberactive a {
    color: #000;
    border-color: gray;
}

ul.tabbernav li.tabberactive a:hover {
    border-color: #CCC;
}


.mw-parser-output .tabbertab {
    /* padding-left: 1em; */
    /*
    border-left: 1px solid #CCC;
    padding: 0.001em 0 0 0.125em;
    */
}
/*
.mw-parser-output .tabbertab p {
    margin-left: -1em;
}
.mw-parser-output .tabbertab table p {
    margin-left: initial;
}
*/

.infobox ul.tabbernav {
    text-align: center;
}
.infobox .tabbertab {
    padding-left: 0;
}

/* SpoilerBlur */
.spoilerblur {
    filter: blur(3px);
    -webkit-filter: blur(3px);
    opacity: 0.40;
    -webkit-transition: all 0.1s 0 ease-in;
    -moz-transition: all 0.1s 0 ease-in;
    -o-transition: all 0.1s 0 ease-in;
    -ms-transition: all 0.1s 0 ease-in;
    transition: all 0.1s 0 ease-in;
}
.spoilerblur:hover {
    filter: none;
}

/* Tooltip - copied from the gbf.wiki */
.tooltip {
  position: relative;
  display: inline;
  border-bottom: 1px dotted black;
}

.tooltiptext {
  visibility: hidden;
  min-width: 250px;
  padding: 12px 14px;
  
  position: absolute;
  left: 50%;
  bottom: calc(20px + 100%);
  z-index: 99999;
  
  background: #fff;
  box-shadow: 0 2px 0 0 rgba(0,0,0,0.15);
  border: 1px solid #a2a9b1;
  border-radius: 2px;
  
  white-space: normal;
  font-weight: normal;
  font-style: initial;
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
}

.tooltiptext:after,
.tooltiptext:before {
  content: '';
  position: absolute;
  left: 50%;
  border-style: solid;
}

.tooltiptext:after {
  top: 100%;
  bottom: auto;
  width: 20px;
  height: 20px;
  background: #fff;
  margin-top: -10px;
  margin-left: -10px;
  box-shadow: 1px 1px 0px #a2a9b1;
  transform: rotate(45deg);
  border-width: 0;
}

.tooltiptext:before {
  top: 100%;
  bottom: auto;
  border-width: 18px;
  margin-left: -18px;
  border-color: rgba(0,0,0,0.15) transparent transparent transparent;
  pointer-events: none;
}

.tooltip .tooltip .tooltiptext,
.header-fixed-helper .tooltip .tooltiptext {
  bottom: auto;
  top: calc(20px + 100%);
}

.tooltip .tooltip .tooltiptext:after,
.header-fixed-helper .tooltip .tooltiptext:after {
  top: auto;
  bottom: 100%;
  border-width: 15px;
  margin-left: -15px;
  border-color: transparent transparent white transparent;
  width: 0;
  height: 0;
  box-shadow: none;
  background: none;
  transform: none;
}

.tooltip .tooltip .tooltiptext:before,
.header-fixed-helper .tooltip .tooltiptext:before {
  top: auto;
  bottom: 100%;
  border-width: 16px;
  margin-left: -16px;
  border-color: transparent transparent #888 transparent;
}

.tooltiptext span.hr {
    display: block;
    height: 1px;
    background-color: #a2a9b1;
}

.tooltiptext hr,
.tooltiptext span.hr {
  margin: 10px 0 12px;
  position: relative;
  background: none;
}

.tooltiptext hr:after,
.tooltiptext span.hr:after {
  content: '';
  display: block;
  width: 100%;
  height: 1px !important;
  position: absolute;
  left: -14px;
  background: #a2a9b1;
  padding: 0 14px;
}

.tooltip:hover > .tooltiptext,
.tooltip.hover > .tooltiptext {
  visibility: visible;
}

.tooltiptext {
  opacity: 0;
  transition: opacity 200ms ease, visibility 0s ease 200ms, transform 200ms ease !important;
  transform: translate(-50%, 8px);
}

.tooltip .tooltip .tooltiptext,
.header-fixed-helper .tooltip .tooltiptext {
  transform: translate(-50%, -8px);
}

.tooltip:hover > .tooltiptext,
.tooltip.hover > .tooltiptext {
  opacity: 1;
  transition-delay: 0s !important;
  transform: translate(-50%, 0);
}

.tooltiptext a { color: #0645ad; border-bottom: 0; }
.tooltiptext a:visited { color: #0b0080; }
.tooltiptext a:active { color: #faa700; }
.tooltiptext a:hover, a:focus { text-decoration: underline; }
.tooltiptext { color: #252525; }
.tooltiptext a.new { color: #ba0000; }

/* Remove .mw-body-content stacking context so the tooltip can
   overlap with elements outside content area and be shown properly */
.mw-body-content { z-index: auto; }

.flow-post .flow-post-content {
  overflow: visible;
}

.vector-body {
    z-index: initial;
}

/* Tooltip End */

/* {{pp-template}} */
/**
 * Make first row or thead element top sticky.
 *
 * Table classes:
 * - sticky-header: sticky first row.
 * - sticky-header-multi: sticky thead; headers moved via sortable + JavaScript.
 *
 * Tested:
 * - Windows 10: (all skins) Chrome, Firefox, Edge.
 * - Android Galaxy S21 (Minerva): Chrome, Firefox.
 * - iPhone SE 2020 (Minerva): Chrome, Edge, Firefox, Opera, Safari.
 * - Wikipedia Android app.
 * - Print: Not styled.
 * - No JavaScript.
 *
 * Notes:
 * - Sortable moves to thead any header rows and (after sort) sorttop rows.
 * - Sticky gadget (.mw-sticky-header) moves to thead any wikitable header rows.
 *
 * Issues:
 * - Sticky in Timeless any width and other skins at <=639px width: tables wider
 *   than content area overflow and horizontal table scroll lost.
 * - Monobook <=550px width, can't override style:
 *   body.skin--responsive .monobook-body {overflow: auto;}
 */
@media screen and (min-width: 640px) {
  /**
   * Make top sticky.
   */
  .sticky-header > thead > tr:first-child,
  .sticky-header > caption + tbody > tr:first-child,
  .sticky-header > tbody:first-child > tr:first-child,
  .sticky-header-multi > thead {
    position: sticky; /* Was "static". */
    top: 0;
    z-index: 10;
  }
  /* Timeless overflowed tables not sticky. */
  body.skin-timeless .content-table-wrapper.overflowed .sticky-header > thead > tr:first-child,
  body.skin-timeless .content-table-wrapper.overflowed .sticky-header > caption + tbody > tr:first-child,
  body.skin-timeless .content-table-wrapper.overflowed .sticky-header > tbody:first-child > tr:first-child,
  body.skin-timeless .content-table-wrapper.overflowed .sticky-header-multi > thead {
    position: static; /* Reset to prior. */
  }

  /**
   * Fix scrolling data shows through sticky's transparent background.
   */
  /* Plain table headers. */
  .sticky-header:not(.wikitable),
  .sticky-header-multi:not(.wikitable) {
    background-color: var(--color-inverted, #fff);
  }
  /* Plain table headers. */
  .sticky-header:not(.wikitable) > *, /* For thead, tbody. */
  .sticky-header:not(.wikitable) > thead > tr:first-child,
  .sticky-header:not(.wikitable) > caption + tbody > tr:first-child,
  .sticky-header:not(.wikitable) > tbody:first-child > tr:first-child,
  .sticky-header-multi:not(.wikitable) > thead,
  /* Wikitable and plain table .sorttop rows after sort. */
  .sticky-header-multi > thead {
    background-color: inherit;
  }

  /**
   * Fix missing borders due to sticky position and wikitable collapsed borders.
   *
   * Skip rare plain table separated borders, which sometimes shows scrolling
   * data through sticky's 2px "border-spacing".
   *
   * Skip very rare Timeless plain table ".mw-datatable" collapsed boarders.
   */
  .sticky-header.wikitable,
  .sticky-header-multi.wikitable {
    border-collapse: separate; /* Was "collapse". */
    border-spacing: 0;
    border-width: 0 1px 1px 0;
  }
  .sticky-header.wikitable td,
  .sticky-header.wikitable th,
  .sticky-header-multi.wikitable td,
  .sticky-header-multi.wikitable th {
    border-width: 1px 0 0 1px;
  }
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header.wikitable,
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header-multi.wikitable {
    border-bottom-width: 0.2em;
    padding: 0;
  }
  /* Adjust {{static row numbers}} borders. */
  .sticky-header.static-row-numbers.wikitable tr::before,
  .sticky-header-multi.static-row-numbers.wikitable tr::before {
    border-left-width: 1px;
  }
  .sticky-header.static-row-numbers.wikitable > thead > tr:first-child::before,
  .sticky-header.static-row-numbers.wikitable > caption + tbody > tr:first-child::before,
  .sticky-header.static-row-numbers.wikitable > tbody:first-child > tr:first-child::before,
  .sticky-header-multi.static-row-numbers.wikitable > thead > tr:first-child::before,
  .sticky-header-multi.static-row-numbers.wikitable > caption + tbody > tr:first-child::before,
  .sticky-header-multi.static-row-numbers.wikitable > tbody:first-child > tr:first-child::before,
  /* Sortbotton #1: all. When supported, consolidate #1-2 to tr:nth-child(1 of .sortbottom)::before */
  .sticky-header.static-row-numbers.wikitable .sortbottom::before,
  .sticky-header-multi.static-row-numbers.wikitable .sortbottom::before {
    border-top-width: 1px;
  }
  /* Sortbottom #2: all minus 1st. */
  .sticky-header.static-row-numbers.wikitable .sortbottom ~ .sortbottom::before,
  .sticky-header-multi.static-row-numbers.wikitable .sortbottom ~ .sortbottom::before {
    border-top-width: 0;
  }
  /* After sort, "tbody:first-of-type" targets "tbody>tr:first-child". */
  .sticky-header.static-row-numbers.wikitable > tbody:first-of-type > tr:not(.static-row-header)::before,
  .sticky-header-multi.static-row-numbers.wikitable > tbody:first-of-type > tr:not(.static-row-header)::before {
    border-bottom-width: 0;
    border-right-width: 0;
  }
  /* Timeless overflowed tables not sticky. */
  body.skin-timeless .content-table-wrapper.overflowed .sticky-header.wikitable,
  body.skin-timeless .content-table-wrapper.overflowed .sticky-header-multi.wikitable {
    border-collapse: collapse; /* Reset to prior. */
    border-width: 1px; /* Reset to prior. */
  }
}

/**
 * Adjust to other sticky elements.
 */
@media screen and (min-width: 1120px) {
  /* Vector (2022) width >=1120px: Below sticky header bar. */
  body.vector-sticky-header-visible .sticky-header > thead > tr:first-child,
  body.vector-sticky-header-visible .sticky-header > caption + tbody > tr:first-child,
  body.vector-sticky-header-visible .sticky-header > tbody:first-child > tr:first-child,
  body.vector-sticky-header-visible .sticky-header-multi > thead {
    top: 3.125rem;
  }
}
@media screen and (min-width: 851px) {
  /* Timeless width >=851px: Below sticky header bar. */
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header > thead > tr:first-child,
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header > caption + tbody > tr:first-child,
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header > tbody:first-child > tr:first-child,
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header-multi > thead {
    top: 3.51em;
  }
}

/**
 * Fix "Sticky Table Headers" gadget issues; this template has priority.
 */
@media screen {
  .sticky-header.jquery-tablesorter > thead,
  .sticky-header.mw-sticky-header > thead {
    position: static; /* Was "sticky". */
    top: auto; /* Was "0". */
    z-index: auto; /* Was "10". */
  }
  .sticky-header.jquery-tablesorter > tfoot,
  .sticky-header.mw-sticky-header > tfoot,
  .sticky-header-multi.jquery-tablesorter > tfoot,
  .sticky-header-multi.mw-sticky-header > tfoot {
    position: static; /* Was "sticky". */
    bottom: auto; /* Was "0". */
    z-index: auto; /* Was "10". */
  }
}
@media screen and (min-width: 1120px) {
  body.skin-vector-2022.vector-sticky-header-visible .sticky-header.jquery-tablesorter > thead {
    top: auto; /* Was "3.125rem". */
  }
  html.client-js.vector-sticky-header-enabled .sticky-header .mw-sticky-header-element {
    top: auto !important; /* Was "3.125rem !important". */
  }
}
@media screen and (min-width: 851px) {
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header.jquery-tablesorter > thead,
  body.skin-timeless .content-table-wrapper:not(.overflowed) .sticky-header.mw-sticky-header > thead {
    top: auto; /* Was "3.125rem". */
  }
}