MediaWiki:Common.css
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)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* ======================================================
Chesapeake Studios Wiki CSS
====================================================== */
/* ================================
1. Import External Styles
================================ */
/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&family=Roboto+Slab:wght@700&display=swap');
/* Import Font Awesome */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
/* ================================
Hide Elements with Class 'branding-box'
================================ */
.branding-box {
display: none !important;
}
wfLoadExtension Minerva
/* ================================
2. Color Variables
================================ */,
:root {
/* Primary Colors */
--primary-color: #2980b9; /* Blue */
--primary-hover: #1abc9c; /* Teal */
/* Secondary Colors */
--secondary-color: #2c3e50; /* Dark blue-gray */
--secondary-hover: #34495e; /* Slightly lighter */
/* Background Colors */
--background-light: #f9f9f9; /* Light gray */
--background-dark: #1a1a1a; /* Near black */
/* Text Colors */
--text-color: #333333; /* Dark gray */
--text-light: #ecf0f1; /* Light gray for dark mode */
/* Border Colors */
--border-color: #dcdfe4; /* Light gray borders */
--border-dark: #34495e; /* Darker borders for dark mode */
/* Button Colors */
--button-bg: linear-gradient(135deg, #6fa8d1, #4f7f94);
--button-hover-bg: linear-gradient(135deg, #84b8db, #6b95a6);
--button-dark-bg: linear-gradient(135deg, #203b50, #16273b);
--button-dark-hover-bg: linear-gradient(135deg, #2a4e68, #1b3244);
}
/* ================================
3. Typography
================================ */
/* Base Font for Body */
body {
font-family: 'Open Sans', Arial, sans-serif;
line-height: 1.6;
color: var(--text-color);
background-color: var(--background-light);
transition: background-color 0.5s ease, color 0.5s ease;
}
/* Dark Mode Body */
body.dark-mode {
background-color: var(--background-dark);
color: var(--text-light);
}
/* Heading Fonts */
h1, h2, h3, h4, h5, h6 {
font-family: 'Roboto Slab', serif;
color: var(--secondary-color);
}
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
color: #ffffff;
}
/* Link Styles */
a {
color: var(--primary-color);
text-decoration: none;
transition: color 0.3s ease;
}
a:hover, a:focus {
color: var(--primary-hover);
text-decoration: underline;
}
body.dark-mode a {
color: #66aaff;
}
body.dark-mode a:hover,
body.dark-mode a:focus {
color: #1abc9c;
text-decoration: underline;
}
/* Button Text */
.button, input[type="button"], input[type="submit"], button, a.button, div.button {
font-family: 'Open Sans', Arial, sans-serif;
font-weight: 600; /* Semi-bold for buttons */
}
/* ================================
4. Buttons and Action Elements
================================ */
/* Generic Button Styles */
.button,
input[type="button"],
input[type="submit"],
button,
a.button,
div.button {
background: var(--button-bg);
color: white;
border: none;
border-radius: 20px; /* Increased for more curvature */
padding: 10px 20px;
cursor: pointer;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
transition: all 0.5s ease; /* Smooth and comprehensive animations */
display: flex;
align-items: center;
justify-content: center;
text-decoration: none; /* Remove underline for anchor buttons */
outline: none; /* Remove default outlines */
}
/* Dark Mode Buttons */
body.dark-mode .button,
body.dark-mode input[type="button"],
body.dark-mode input[type="submit"],
body.dark-mode button,
body.dark-mode a.button,
body.dark-mode div.button {
background: var(--button-dark-bg);
}
/* Hover States */
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
button:hover,
a.button:hover,
div.button:hover {
background: var(--button-hover-bg);
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(255, 255, 255, 0.3);
}
/* Dark Mode Hover States */
body.dark-mode .button:hover,
body.dark-mode input[type="button"]:hover,
body.dark-mode input[type="submit"]:hover,
body.dark-mode button:hover,
body.dark-mode a.button:hover,
body.dark-mode div.button:hover {
background: var(--button-dark-hover-bg);
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(255, 255, 255, 0.3);
}
/* Active State for Buttons */
.button:active,
input[type="button"]:active,
input[type="submit"]:active,
button:active,
a.button:active,
div.button:active {
transform: translateY(0); /* Reset position */
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); /* Maintain shadow */
}
/* Icon Styling within Buttons */
.button i,
input[type="button"] i,
input[type="submit"] i,
button i,
a.button i,
div.button i {
margin-right: 8px;
font-size: 1.2rem;
}
/* Optional: Add spacing between image and text if buttons have both */
.button img + span,
input[type="button"] img + span,
input[type="submit"] img + span,
button img + span,
a.button img + span,
div.button img + span {
margin-left: 8px; /* Adjust spacing as needed */
}
/* ================================
5. Dropdown Styling
================================ */
/* Dropdown Container */
.dropdown {
position: relative;
display: inline-block;
}
/* Dropdown Content */
.dropdown-content {
display: none;
position: absolute;
background-color: #ffffff; /* Default light mode background */
min-width: 160px;
border-radius: 5px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
transition: opacity 0.3s ease, visibility 0.3s ease;
opacity: 0;
visibility: hidden;
}
/* Show Dropdown on Hover */
.dropdown:hover .dropdown-content {
display: block;
opacity: 1;
visibility: visible;
}
/* Dropdown Links */
.dropdown-content a {
color: var(--text-color);
padding: 12px 16px;
text-decoration: none;
display: flex;
align-items: center;
transition: background-color 0.3s ease, color 0.3s ease;
}
/* Hover Effects for Dropdown Links */
.dropdown-content a:hover {
background-color: #f5f7fa;
color: var(--text-color);
}
/* Dark Mode Dropdown */
body.dark-mode .dropdown-content {
background-color: #2c2f33;
border: 1px solid var(--border-dark);
}
body.dark-mode .dropdown-content a {
color: #ffffff;
}
body.dark-mode .dropdown-content a:hover {
background-color: #7289da;
color: #ffffff;
}
/* ================================
6. Infobox and Table Styling
================================ */
/* Infobox Styling */
.infobox {
border: 1px solid var(--border-color);
background-color: #f0f4f9;
border-radius: 10px;
padding: 15px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: background-color 0.3s ease, border-color 0.3s ease;
}
body.dark-mode .infobox {
background-color: #1a2535;
border-color: var(--border-dark);
box-shadow: 0 4px 8px rgba(255, 255, 255, 0.1);
}
.infobox-header {
background-color: #d4e1f5;
color: var(--text-color);
padding: 10px 15px;
border-radius: 10px 10px 0 0;
font-size: 1.4rem;
font-weight: bold;
}
body.dark-mode .infobox-header {
background-color: #122a40;
color: #ffffff;
}
/* Table Styling */
table {
border-collapse: collapse;
width: 100%;
margin-bottom: 20px;
}
th, td {
border: 1px solid var(--border-color);
padding: 12px 15px;
text-align: left;
}
th {
background-color: var(--primary-color);
color: white;
}
tbody tr:nth-child(even) {
background-color: #f2f2f2;
}
body.dark-mode table,
body.dark-mode th,
body.dark-mode td {
border-color: var(--border-dark);
}
body.dark-mode th {
background-color: #7289da;
}
body.dark-mode tbody tr:nth-child(even) {
background-color: #2c2f33;
}
body.dark-mode th,
body.dark-mode td {
color: #ffffff;
}
/* ================================
7. Minerva Skin Specific Styling
================================ */
/* ================================
a. Minerva Header Styling
================================ */
/* Minerva Header */
.header-container {
background-color: var(--secondary-color);
padding: 15px 20px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
display: flex;
align-items: center;
justify-content: space-between;
}
/* Minerva Logo */
.header-container .logo {
background: url('/path/to/your/logo.png') no-repeat center center;
background-size: contain;
width: 150px; /* Adjust as needed */
height: 50px; /* Adjust as needed */
text-indent: -9999px; /* Hide text */
}
/* Minerva Navigation Links */
.header-container .nav-links {
display: flex;
gap: 15px;
}
.header-container .nav-links a {
color: white;
font-weight: 600;
padding: 8px 12px;
border-radius: 8px;
transition: background-color 0.3s ease, color 0.3s ease;
}
.header-container .nav-links a:hover,
.header-container .nav-links a:focus {
background-color: var(--primary-hover);
color: white;
text-decoration: none;
}
/* ================================
b. Minerva Sidebar Styling
================================ */
/* Minerva Sidebar */
.sidebar-container {
background-color: var(--background-light);
padding: 15px;
border-right: 1px solid var(--border-color);
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
transition: background-color 0.3s ease, border-color 0.3s ease;
}
body.dark-mode .sidebar-container {
background-color: #2c2f33;
border-color: var(--border-dark);
}
/* Sidebar Links */
.sidebar-container a {
display: block;
color: var(--text-color);
padding: 10px 0;
text-decoration: none;
font-weight: 600;
transition: color 0.3s ease, background-color 0.3s ease;
}
.sidebar-container a:hover,
.sidebar-container a:focus {
background-color: var(--primary-hover);
color: white;
border-radius: 5px;
}
/* ================================
c. Minerva Content Area Styling
================================ */
/* Content Area */
.content-container {
padding: 20px;
background-color: var(--background-light);
min-height: 80vh;
transition: background-color 0.3s ease;
}
body.dark-mode .content-container {
background-color: var(--background-dark);
}
/* ================================
d. Minerva Footer Styling
================================ */
/* Minerva Footer */
.footer-container {
background-color: var(--secondary-color);
color: white;
padding: 20px;
text-align: center;
font-size: 0.9rem;
transition: background-color 0.3s ease;
}
body.dark-mode .footer-container {
background-color: #1a1a1a;
}
/* Footer Links */
.footer-container a {
color: #ecf0f1;
text-decoration: underline;
}
.footer-container a:hover,
.footer-container a:focus {
color: var(--primary-hover);
text-decoration: none;
}
/* ================================
8. Text Rendering Enhancement
================================ */
/* Enhance Text Rendering */
body {
-webkit-font-smoothing: antialiased; /* For Chrome, Safari, and Opera */
-moz-osx-font-smoothing: grayscale; /* For Firefox on macOS */
text-rendering: optimizeLegibility; /* Enhances legibility and kerning */
}
/* Ensure all textual elements benefit from improved font smoothing */
p, span, div, h1, h2, h3, h4, h5, h6, a, li, td, th, blockquote, pre {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
/* Optional: Enhance font sharpness on high-resolution displays */
@media screen and (-webkit-min-device-pixel-ratio: 2),
screen and (min-resolution: 192dpi) {
body {
-webkit-font-smoothing: subpixel-antialiased;
-moz-osx-font-smoothing: auto;
}
}
/* ================================
9. Responsive Design and Mobile Optimization
================================ */
/* Responsive Adjustments */
@media (max-width: 768px) {
/* Minerva Header Adjustments */
.header-container {
flex-direction: column;
align-items: flex-start;
}
.header-container .nav-links {
flex-direction: column;
width: 100%;
}
.header-container .nav-links a {
width: 100%;
padding: 10px 0;
}
/* Sidebar Collapse for Mobile */
.sidebar-container {
display: none; /* Hide sidebar on mobile */
}
/* Content Area Full Width */
.content-container {
padding: 15px;
}
/* Adjust Buttons */
.button,
input[type="button"],
input[type="submit"],
button,
a.button,
div.button {
padding: 8px 16px;
font-size: 0.9rem;
border-radius: 15px;
}
/* Hamburger Menu for Mobile Navigation */
.hamburger {
display: flex;
flex-direction: column;
cursor: pointer;
padding: 10px;
}
.hamburger div {
width: 25px;
height: 3px;
background-color: var(--secondary-color);
margin: 4px 0;
transition: all 0.3s ease;
}
/* Mobile Navigation Toggle */
.nav-links.active {
display: flex;
flex-direction: column;
width: 100%;
}
}
/* ================================
10. Accessibility Enhancements
================================ */
/* Custom Focus Styles for All Interactive Elements */
.button:focus,
input[type="button"]:focus,
input[type="submit"]:focus,
button:focus,
a.button:focus,
div.button:focus,
.dropdown-content a:focus,
.header-container .nav-links a:focus,
.sidebar-container a:focus,
.footer-container a:focus {
box-shadow: 0 0 0 3px rgba(111, 168, 209, 0.5); /* Custom focus shadow */
outline: none; /* Remove default outline */
}
/* High Contrast Mode for better visibility */
@media (prefers-contrast: high) {
body {
background-color: #ffffff;
color: #000000;
}
.header-container,
.footer-container {
background-color: #ffffff;
color: #000000;
}
.header-container .nav-links a,
.sidebar-container a,
.footer-container a {
color: #000000;
}
.header-container .nav-links a:hover,
.header-container .nav-links a:focus,
.sidebar-container a:hover,
.sidebar-container a:focus,
.footer-container a:hover,
.footer-container a:focus {
color: var(--primary-hover);
text-decoration: underline;
}
}
/* ================================
Expand Main Content Area in Minerva Skin
================================ */
/* Adjust the main content container to occupy more width */
.mw-body-content {
max-width: 2900px; /* Increase from default, adjust as needed */
width: 100%;
margin: 0 auto; /* Center align */
padding: 20px; /* Adjust padding if necessary */
}