MediaWiki:Common.css: Difference between revisions

From Tuflow
Jump to navigation Jump to search
Content deleted Content added
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 278: Line 278:


/* Make the Example Model Catalogue accessible on narrow screens */
/* Make the Example Model Catalogue accessible on narrow screens */

/* Example Model Catalogue wrapper */


.example-model-table-wrapper {
.example-model-table-wrapper {
Line 284: Line 286:
width: 100%;
width: 100%;
max-width: 100%;
max-width: 100%;
overflow-x: auto;
overflow: visible;
overflow-y: visible;
-webkit-overflow-scrolling: touch;
}
}


Line 309: Line 309:
width: 100%;
width: 100%;
max-width: 100%;
max-width: 100%;
overflow-x: hidden;
overflow-x: auto;
overflow-y: visible;
-webkit-overflow-scrolling: touch;
}
}


Line 441: Line 443:
text-decoration: none;
text-decoration: none;
white-space: nowrap;
white-space: nowrap;
}

/* -------------------------------------------------------------------------
* TUFLOW Wiki dark mode colours
* ------------------------------------------------------------------------- */

html.tuflow-dark-mode,
html.tuflow-dark-mode body {
background-color: #15181d !important;
color: #e6e8eb !important;
}

html.tuflow-dark-mode #content,
html.tuflow-dark-mode .mw-body,
html.tuflow-dark-mode .mw-body-content,
html.tuflow-dark-mode #mw-content-text,
html.tuflow-dark-mode .vector-body {
background-color: #1d2127 !important;
color: #e6e8eb !important;
}

html.tuflow-dark-mode h1,
html.tuflow-dark-mode h2,
html.tuflow-dark-mode h3,
html.tuflow-dark-mode h4,
html.tuflow-dark-mode h5,
html.tuflow-dark-mode h6 {
color: #f4f5f7 !important;
border-color: #4a515c !important;
}

html.tuflow-dark-mode a {
color: #8ab4f8 !important;
}

html.tuflow-dark-mode a:visited {
color: #c6a0f6 !important;
}

html.tuflow-dark-mode #mw-panel,
html.tuflow-dark-mode #mw-head,
html.tuflow-dark-mode #p-personal,
html.tuflow-dark-mode .vector-menu-content,
html.tuflow-dark-mode .vector-header-container {
background-color: #171a1f !important;
color: #e6e8eb !important;
}

html.tuflow-dark-mode .wikitable,
html.tuflow-dark-mode table.wikitable {
background-color: #20252c !important;
color: #e6e8eb !important;
border-color: #59616d !important;
}

html.tuflow-dark-mode .wikitable th,
html.tuflow-dark-mode .wikitable td {
border-color: #59616d !important;
}

html.tuflow-dark-mode .wikitable td {
background-color: #20252c !important;
}

html.tuflow-dark-mode input,
html.tuflow-dark-mode textarea,
html.tuflow-dark-mode select,
html.tuflow-dark-mode button {
background-color: #242a32 !important;
color: #f1f3f4 !important;
border-color: #68717d !important;
}

html.tuflow-dark-mode input::placeholder,
html.tuflow-dark-mode textarea::placeholder {
color: #aeb4bd !important;
}

html.tuflow-dark-mode pre,
html.tuflow-dark-mode code,
html.tuflow-dark-mode .mw-code {
background-color: #111418 !important;
color: #e8eaed !important;
border-color: #4d5560 !important;
}

html.tuflow-dark-mode .toc,
html.tuflow-dark-mode .catlinks,
html.tuflow-dark-mode .thumbinner,
html.tuflow-dark-mode .mw-message-box,
html.tuflow-dark-mode .warningbox,
html.tuflow-dark-mode .successbox {
background-color: #242a31 !important;
color: #e6e8eb !important;
border-color: #59616d !important;
}

html.tuflow-dark-mode hr {
border-color: #4a515c !important;
}

html.tuflow-dark-mode #footer,
html.tuflow-dark-mode .mw-footer {
background-color: #15181d !important;
color: #c9cdd3 !important;
}

/* -------------------------------------------------------------------------
* Dark mode support for Vector Legacy desktop skin
* ------------------------------------------------------------------------- */

html.tuflow-dark-mode #mw-page-base,
html.tuflow-dark-mode #mw-head-base,
html.tuflow-dark-mode #content,
html.tuflow-dark-mode .mw-body,
html.tuflow-dark-mode .mw-body-content,
html.tuflow-dark-mode #mw-content-text,
html.tuflow-dark-mode #bodyContent {
background: #1d2127 !important;
background-image: none !important;
color: #e6e8eb !important;
}

html.tuflow-dark-mode #mw-panel,
html.tuflow-dark-mode #mw-navigation,
html.tuflow-dark-mode #p-logo,
html.tuflow-dark-mode #left-navigation,
html.tuflow-dark-mode #right-navigation,
html.tuflow-dark-mode #p-personal,
html.tuflow-dark-mode #mw-head {
background: #171a1f !important;
background-image: none !important;
color: #e6e8eb !important;
}

html.tuflow-dark-mode .vectorTabs,
html.tuflow-dark-mode .vectorTabs ul,
html.tuflow-dark-mode .vectorTabs li,
html.tuflow-dark-mode .vectorTabs span,
html.tuflow-dark-mode .vectorMenu,
html.tuflow-dark-mode .vectorMenu h3,
html.tuflow-dark-mode .vectorMenu .menu {
background: #242a32 !important;
background-image: none !important;
border-color: #59616d !important;
color: #e6e8eb !important;
}

html.tuflow-dark-mode .vectorTabs a,
html.tuflow-dark-mode .vectorMenu a,
html.tuflow-dark-mode #mw-panel a,
html.tuflow-dark-mode #p-personal a {
color: #8ab4f8 !important;
}

html.tuflow-dark-mode #searchInput,
html.tuflow-dark-mode .searchButton,
html.tuflow-dark-mode #simpleSearch {
background-color: #242a32 !important;
color: #f1f3f4 !important;
border-color: #68717d !important;
}

html.tuflow-dark-mode .mw-editsection,
html.tuflow-dark-mode .mw-editsection a {
color: #8ab4f8 !important;
}

html.tuflow-dark-mode #footer,
html.tuflow-dark-mode #footer-info,
html.tuflow-dark-mode #footer-places {
background-color: #15181d !important;
color: #c9cdd3 !important;
}

/* -------------------------------------------------------------------------
* Dark mode support for homepage panels and styled content tables
* ------------------------------------------------------------------------- */

/* Let the browser choose suitable colours for standard controls */
html.tuflow-dark-mode {
color-scheme: dark;
}

/* General borders and text for styled wiki tables */
html.tuflow-dark-mode .mw-parser-output table {
border-color: #59616d !important;
}

html.tuflow-dark-mode .mw-parser-output table[style],
html.tuflow-dark-mode .mw-parser-output td[style],
html.tuflow-dark-mode .mw-parser-output th[style] {
color: #e6e8eb !important;
}

/*
* Convert pale custom table and panel backgrounds
* into a consistent dark surface.
*/
html.tuflow-dark-mode .mw-parser-output table[style*="background"],
html.tuflow-dark-mode .mw-parser-output td[style*="background"] {
background-color: #252b33 !important;
}

/* Preserve dark blue section headings */
html.tuflow-dark-mode .mw-parser-output th[style*="background"],
html.tuflow-dark-mode .mw-parser-output td[style*="#005581"],
html.tuflow-dark-mode .mw-parser-output td[style*="#335f8c"],
html.tuflow-dark-mode .mw-parser-output th[style*="#005581"],
html.tuflow-dark-mode .mw-parser-output th[style*="#335f8c"] {
background-color: #294f75 !important;
color: #ffffff !important;
}

/* Improve links inside dark homepage panels */
html.tuflow-dark-mode .mw-parser-output table[style*="background"] a,
html.tuflow-dark-mode .mw-parser-output td[style*="background"] a {
color: #9ec1ff !important;
}

html.tuflow-dark-mode .mw-parser-output table[style*="background"] a:visited,
html.tuflow-dark-mode .mw-parser-output td[style*="background"] a:visited {
color: #d6b5ff !important;
}

/* Keep images, logos, maps and plots unchanged */
html.tuflow-dark-mode .mw-parser-output img,
html.tuflow-dark-mode .mw-parser-output svg,
html.tuflow-dark-mode .mw-parser-output canvas {
filter: none !important;
}

/* Restore sticky Example Model Catalogue headers */

.example-model-results-table > thead,
.example-model-results-table > tbody {
overflow: visible;
}

.example-model-results-table tr:first-child th {
position: sticky !important;
top: 0 !important;
z-index: 12 !important;
}

.example-model-results-table tr:nth-child(2) th {
position: sticky !important;
top: 2.2em !important;
z-index: 11 !important;
}

/* Sticky header colours in dark mode */

html.tuflow-dark-mode
.example-model-results-table tr:first-child th {
background-color: #294f75 !important;
color: #fff !important;
}

html.tuflow-dark-mode
.example-model-results-table tr:nth-child(2) th {
background-color: #252b33 !important;
color: #f4f5f7 !important;
}
}

Latest revision as of 11:12, 17 July 2026

/* CSS placed here will be applied to all skins */
/* Shared searchable table controls */

.benchmark-table-block {
    display: table;
    width: auto;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.benchmark-table-controls {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    float: none;
    clear: both;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 440px;
    margin: 0.75rem 0 0.5rem auto;
}

.benchmark-table-search {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.benchmark-search-input {
    box-sizing: border-box;
    width: 100%;
    height: 30px;
    min-height: 30px;
    padding: 0 0.75rem 0 2.25rem;
    border: 1px solid #a2b6cc;
    border-radius: 4px;
    background-color: #fff;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23545f6d' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 0.7rem center;
    background-size: 16px 16px;
    color: #202122;
    font: inherit;
    font-size: 0.95rem;
    text-align: left;
}

.benchmark-search-input::placeholder {
    color: #72777d;
}

.benchmark-search-input:hover {
    border-color: #7896bd;
}

.benchmark-search-input:focus {
    border-color: #36c;
    box-shadow: 0 0 0 2px rgba(51, 102, 204, 0.14);
    outline: none;
}

.benchmark-search-clear {
    box-sizing: border-box;
    height: 30px;
    min-height: 30px;
    padding: 0 0.75rem;
    border: 1px solid #a2a9b1;
    border-radius: 4px;
    background: #f8f9fa;
    color: #202122;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.benchmark-search-clear:hover {
    border-color: #72777d;
    background: #fff;
}

.benchmark-result-count {
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 1.2rem;
    margin-top: 0.2rem;
    color: #72777d;
    font-size: 0.82rem;
    line-height: 1.2rem;
    text-align: left;
}

/* Hardware benchmark tables */

.benchmark-results-table {
    clear: both;
    margin-top: 0 !important;
}

.benchmark-results-table tr[hidden] {
    display: none;
}

/* Example Model Catalogue table */

.example-model-results-table {
    clear: both;
    width: 100%;
    margin-top: 0 !important;
}

.example-model-results-table tr[hidden] {
    display: none;
}

/* Prevent the Example Model Catalogue shrinking when no rows match */

.example-model-table-block {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Keep the Example Model Catalogue search visible on desktop */

.example-model-table-block .benchmark-table-controls {
    display: flex !important;
    float: none !important;
    clear: both;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    max-width: 440px;
    margin: 0.75rem 0 0.5rem auto !important;
    align-items: stretch;
}

.example-model-table-block .benchmark-table-search {
    display: flex !important;
    width: 100%;
}

.example-model-table-block .benchmark-search-input {
    display: block !important;
    width: 100%;
    min-width: 0;
}

.example-model-table-block .benchmark-result-count {
    display: block !important;
    width: 100%;
}

.example-model-table-block .example-model-results-table {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 100% !important;
}

/* Compact height for all shared search bars */

.benchmark-search-input {
    line-height: 30px;
}

.benchmark-search-clear {
    padding-top: 0;
    padding-bottom: 0;
    line-height: 28px;
}

/* Responsive layout */

@media screen and (max-width: 900px) {
    .benchmark-table-block {
        display: block;
        width: 100%;
        overflow-x: auto;
    }

    .benchmark-table-controls {
        float: none;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0 0 0.35rem;
        align-items: stretch;
    }

    .benchmark-table-search,
    .benchmark-result-count {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .example-model-table-block .benchmark-table-controls {
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0 0 0.35rem !important;
    }
}

@media screen and (max-width: 720px) {
    .benchmark-table-search {
        flex-direction: column;
        align-items: stretch;
    }

    .benchmark-search-clear {
        align-self: flex-end;
    }
}

/* QGIS Useful Plugins search table */

.qgis-plugin-table-block {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.qgis-plugin-table-block .qgis-plugin-results-table {
    box-sizing: border-box;
    clear: both;
    width: 100% !important;
    min-width: 100% !important;
    margin-top: 0 !important;
}

.qgis-plugin-results-table tr[hidden] {
    display: none;
}

mark.search-highlight {
    color: #202122;
    padding: 0 0.05em;
    border-radius: 2px;
}

mark.search-highlight.search-highlight-1 {
    background-color: #ffeb3b !important;
}

mark.search-highlight.search-highlight-2 {
    background-color: #fdb9c9 !important;
}

mark.search-highlight.search-highlight-3 {
    background-color: #ffdcbe !important;
}

mark.search-highlight.search-highlight-4 {
    background-color: #bbf6f3 !important;
}

mark.search-highlight.search-highlight-5 {
    background-color: #a7e0f4 !important;
}

@media screen and (max-width: 900px) {
    .qgis-plugin-table-block .benchmark-table-controls {
        width: 100%;
        max-width: none;
    }
}

/* Make the Example Model Catalogue accessible on narrow screens */

/* Example Model Catalogue wrapper */

.example-model-table-wrapper {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow: visible;
}

.example-model-table-wrapper .example-model-results-table {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 100% !important;
    margin-bottom: 0;
}

.example-model-table-wrapper .example-model-results-table th,
.example-model-table-wrapper .example-model-results-table td {
    white-space: normal;
    overflow-wrap: break-word;
}

/* Mobile Example Model Catalogue layout */

@media screen and (max-width: 768px) {
    .example-model-table-wrapper {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
    }

    .example-model-table-wrapper .example-model-results-table {
        box-sizing: border-box;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed;
    }

    .example-model-table-wrapper .example-model-results-table th,
    .example-model-table-wrapper .example-model-results-table td {
        box-sizing: border-box;
        min-width: 0;
        padding: 0.35em 0.22em;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: normal;
        hyphens: none;
        font-size: 0.76rem;
        line-height: 1.22;
    }

    /* Slightly larger column headings */
    .example-model-table-wrapper .example-model-results-table th {
        font-size: 0.8rem;
        line-height: 1.15;
    }

    /* Keep model names compact */
    .example-model-table-wrapper .example-model-results-table th:last-child,
    .example-model-table-wrapper .example-model-results-table td:last-child {
        min-width: 0;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: normal;
        font-size: 0.7rem;
        line-height: 1.18;
    }

    /* Reduce the catalogue title slightly */
    .example-model-table-wrapper .example-model-results-table tr:first-child th {
        font-size: 0.86rem;
        padding: 0.45em 0.25em;
    }
}

/* Hide mobile last-edited bar */

.last-modified-bar,
.minerva-footer-last-modified,
footer .last-modified,
footer [class*="last-modified"] {
    display: none !important;
}

/* -------------------------------------------------------------------------
 * Final compact sizing for all searchable table controls
 * ------------------------------------------------------------------------- */

.benchmark-table-controls {
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 400px !important;
    margin: 0.5rem 0 0.4rem auto !important;
    align-items: stretch !important;
}

input.benchmark-search-input {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    padding: 2px 0.65rem 2px 2rem !important;
    border-radius: 4px !important;
    background-position: 0.55rem center !important;
    background-size: 14px 14px !important;
    font-size: 0.84rem !important;
    line-height: 22px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

button.benchmark-search-clear {
    box-sizing: border-box !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    padding: 0 0.65rem !important;
    font-size: 0.84rem !important;
    line-height: 26px !important;
}

.benchmark-result-count {
    min-height: 1rem !important;
    margin-top: 0.1rem !important;
    font-size: 0.78rem !important;
    line-height: 1rem !important;
}

/* Keep all search controls full width on mobile */

@media screen and (max-width: 900px) {
    .benchmark-table-controls {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 0.4rem !important;
    }
}

/* Dark mode toggle fallback position */

#tuflow-dark-mode-fallback {
    position: fixed;
    top: 8px;
    right: 12px;
    z-index: 10000;
    padding: 5px 9px;
    border: 1px solid #a2a9b1;
    border-radius: 4px;
    background: #f8f9fa;
}

#tuflow-dark-mode-fallback a {
    color: #0645ad;
    text-decoration: none;
    white-space: nowrap;
}

/* -------------------------------------------------------------------------
 * TUFLOW Wiki dark mode colours
 * ------------------------------------------------------------------------- */

html.tuflow-dark-mode,
html.tuflow-dark-mode body {
    background-color: #15181d !important;
    color: #e6e8eb !important;
}

html.tuflow-dark-mode #content,
html.tuflow-dark-mode .mw-body,
html.tuflow-dark-mode .mw-body-content,
html.tuflow-dark-mode #mw-content-text,
html.tuflow-dark-mode .vector-body {
    background-color: #1d2127 !important;
    color: #e6e8eb !important;
}

html.tuflow-dark-mode h1,
html.tuflow-dark-mode h2,
html.tuflow-dark-mode h3,
html.tuflow-dark-mode h4,
html.tuflow-dark-mode h5,
html.tuflow-dark-mode h6 {
    color: #f4f5f7 !important;
    border-color: #4a515c !important;
}

html.tuflow-dark-mode a {
    color: #8ab4f8 !important;
}

html.tuflow-dark-mode a:visited {
    color: #c6a0f6 !important;
}

html.tuflow-dark-mode #mw-panel,
html.tuflow-dark-mode #mw-head,
html.tuflow-dark-mode #p-personal,
html.tuflow-dark-mode .vector-menu-content,
html.tuflow-dark-mode .vector-header-container {
    background-color: #171a1f !important;
    color: #e6e8eb !important;
}

html.tuflow-dark-mode .wikitable,
html.tuflow-dark-mode table.wikitable {
    background-color: #20252c !important;
    color: #e6e8eb !important;
    border-color: #59616d !important;
}

html.tuflow-dark-mode .wikitable th,
html.tuflow-dark-mode .wikitable td {
    border-color: #59616d !important;
}

html.tuflow-dark-mode .wikitable td {
    background-color: #20252c !important;
}

html.tuflow-dark-mode input,
html.tuflow-dark-mode textarea,
html.tuflow-dark-mode select,
html.tuflow-dark-mode button {
    background-color: #242a32 !important;
    color: #f1f3f4 !important;
    border-color: #68717d !important;
}

html.tuflow-dark-mode input::placeholder,
html.tuflow-dark-mode textarea::placeholder {
    color: #aeb4bd !important;
}

html.tuflow-dark-mode pre,
html.tuflow-dark-mode code,
html.tuflow-dark-mode .mw-code {
    background-color: #111418 !important;
    color: #e8eaed !important;
    border-color: #4d5560 !important;
}

html.tuflow-dark-mode .toc,
html.tuflow-dark-mode .catlinks,
html.tuflow-dark-mode .thumbinner,
html.tuflow-dark-mode .mw-message-box,
html.tuflow-dark-mode .warningbox,
html.tuflow-dark-mode .successbox {
    background-color: #242a31 !important;
    color: #e6e8eb !important;
    border-color: #59616d !important;
}

html.tuflow-dark-mode hr {
    border-color: #4a515c !important;
}

html.tuflow-dark-mode #footer,
html.tuflow-dark-mode .mw-footer {
    background-color: #15181d !important;
    color: #c9cdd3 !important;
}

/* -------------------------------------------------------------------------
 * Dark mode support for Vector Legacy desktop skin
 * ------------------------------------------------------------------------- */

html.tuflow-dark-mode #mw-page-base,
html.tuflow-dark-mode #mw-head-base,
html.tuflow-dark-mode #content,
html.tuflow-dark-mode .mw-body,
html.tuflow-dark-mode .mw-body-content,
html.tuflow-dark-mode #mw-content-text,
html.tuflow-dark-mode #bodyContent {
    background: #1d2127 !important;
    background-image: none !important;
    color: #e6e8eb !important;
}

html.tuflow-dark-mode #mw-panel,
html.tuflow-dark-mode #mw-navigation,
html.tuflow-dark-mode #p-logo,
html.tuflow-dark-mode #left-navigation,
html.tuflow-dark-mode #right-navigation,
html.tuflow-dark-mode #p-personal,
html.tuflow-dark-mode #mw-head {
    background: #171a1f !important;
    background-image: none !important;
    color: #e6e8eb !important;
}

html.tuflow-dark-mode .vectorTabs,
html.tuflow-dark-mode .vectorTabs ul,
html.tuflow-dark-mode .vectorTabs li,
html.tuflow-dark-mode .vectorTabs span,
html.tuflow-dark-mode .vectorMenu,
html.tuflow-dark-mode .vectorMenu h3,
html.tuflow-dark-mode .vectorMenu .menu {
    background: #242a32 !important;
    background-image: none !important;
    border-color: #59616d !important;
    color: #e6e8eb !important;
}

html.tuflow-dark-mode .vectorTabs a,
html.tuflow-dark-mode .vectorMenu a,
html.tuflow-dark-mode #mw-panel a,
html.tuflow-dark-mode #p-personal a {
    color: #8ab4f8 !important;
}

html.tuflow-dark-mode #searchInput,
html.tuflow-dark-mode .searchButton,
html.tuflow-dark-mode #simpleSearch {
    background-color: #242a32 !important;
    color: #f1f3f4 !important;
    border-color: #68717d !important;
}

html.tuflow-dark-mode .mw-editsection,
html.tuflow-dark-mode .mw-editsection a {
    color: #8ab4f8 !important;
}

html.tuflow-dark-mode #footer,
html.tuflow-dark-mode #footer-info,
html.tuflow-dark-mode #footer-places {
    background-color: #15181d !important;
    color: #c9cdd3 !important;
}

/* -------------------------------------------------------------------------
 * Dark mode support for homepage panels and styled content tables
 * ------------------------------------------------------------------------- */

/* Let the browser choose suitable colours for standard controls */
html.tuflow-dark-mode {
    color-scheme: dark;
}

/* General borders and text for styled wiki tables */
html.tuflow-dark-mode .mw-parser-output table {
    border-color: #59616d !important;
}

html.tuflow-dark-mode .mw-parser-output table[style],
html.tuflow-dark-mode .mw-parser-output td[style],
html.tuflow-dark-mode .mw-parser-output th[style] {
    color: #e6e8eb !important;
}

/*
 * Convert pale custom table and panel backgrounds
 * into a consistent dark surface.
 */
html.tuflow-dark-mode .mw-parser-output table[style*="background"],
html.tuflow-dark-mode .mw-parser-output td[style*="background"] {
    background-color: #252b33 !important;
}

/* Preserve dark blue section headings */
html.tuflow-dark-mode .mw-parser-output th[style*="background"],
html.tuflow-dark-mode .mw-parser-output td[style*="#005581"],
html.tuflow-dark-mode .mw-parser-output td[style*="#335f8c"],
html.tuflow-dark-mode .mw-parser-output th[style*="#005581"],
html.tuflow-dark-mode .mw-parser-output th[style*="#335f8c"] {
    background-color: #294f75 !important;
    color: #ffffff !important;
}

/* Improve links inside dark homepage panels */
html.tuflow-dark-mode .mw-parser-output table[style*="background"] a,
html.tuflow-dark-mode .mw-parser-output td[style*="background"] a {
    color: #9ec1ff !important;
}

html.tuflow-dark-mode .mw-parser-output table[style*="background"] a:visited,
html.tuflow-dark-mode .mw-parser-output td[style*="background"] a:visited {
    color: #d6b5ff !important;
}

/* Keep images, logos, maps and plots unchanged */
html.tuflow-dark-mode .mw-parser-output img,
html.tuflow-dark-mode .mw-parser-output svg,
html.tuflow-dark-mode .mw-parser-output canvas {
    filter: none !important;
}

/* Restore sticky Example Model Catalogue headers */

.example-model-results-table > thead,
.example-model-results-table > tbody {
    overflow: visible;
}

.example-model-results-table tr:first-child th {
    position: sticky !important;
    top: 0 !important;
    z-index: 12 !important;
}

.example-model-results-table tr:nth-child(2) th {
    position: sticky !important;
    top: 2.2em !important;
    z-index: 11 !important;
}

/* Sticky header colours in dark mode */

html.tuflow-dark-mode
.example-model-results-table tr:first-child th {
    background-color: #294f75 !important;
    color: #fff !important;
}

html.tuflow-dark-mode
.example-model-results-table tr:nth-child(2) th {
    background-color: #252b33 !important;
    color: #f4f5f7 !important;
}