MediaWiki:Common.css: Difference between revisions

From Tuflow
Jump to navigation Jump to search
Content deleted Content added
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 13: Line 13:
display: flex;
display: flex;
flex-direction: column;
flex-direction: column;
align-items: flex-end;
align-items: stretch;
float: right;
float: none;
width: 32%;
clear: both;
min-width: 360px;
box-sizing: border-box;
max-width: 500px;
width: 100%;
margin: -2.35rem 0 0.25rem 1rem;
min-width: 0;
max-width: 440px;
margin: 0.75rem 0 0.5rem auto;
}
}


Line 33: Line 35:
box-sizing: border-box;
box-sizing: border-box;
width: 100%;
width: 100%;
height: 34px;
height: 30px;
min-height: 34px;
min-height: 30px;
padding: 0 0.75rem 0 2.25rem;
padding: 0 0.75rem 0 2.25rem;
border: 1px solid #a2b6cc;
border: 1px solid #a2b6cc;
Line 65: Line 67:


.benchmark-search-clear {
.benchmark-search-clear {
height: 34px;
box-sizing: border-box;
min-height: 34px;
height: 30px;
min-height: 30px;
padding: 0 0.75rem;
padding: 0 0.75rem;
border: 1px solid #a2a9b1;
border: 1px solid #a2a9b1;
Line 132: Line 135:
display: flex !important;
display: flex !important;
float: none !important;
float: none !important;
width: 32%;
clear: both;
min-width: 360px;
box-sizing: border-box;
max-width: 500px;
width: 100% !important;
min-width: 0;
margin: 0 0 0.35rem auto !important;
max-width: 440px;
margin: 0.75rem 0 0.5rem auto !important;
align-items: stretch;
align-items: stretch;
}
}
Line 159: Line 164:
width: 100% !important;
width: 100% !important;
min-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;
}
}


Line 233: Line 250:
}
}


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


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


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


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


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


Line 261: 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 267: 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 292: 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 347: Line 366:
footer [class*="last-modified"] {
footer [class*="last-modified"] {
display: none !important;
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;
}
}

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;
}