MediaWiki:Common.css: Difference between revisions
Jump to navigation
Jump to search
Update Compendium sidebar dropdowns to hover-over flyout submenus |
Position scroll to top button next to main container and above navbar |
||
| (14 intermediate revisions by the same user not shown) | |||
| Line 195: | Line 195: | ||
.uor-sidebar-submenu li a:hover::before { | .uor-sidebar-submenu li a:hover::before { | ||
color: var(--gold-bright, #ffd700); | color: var(--gold-bright, #ffd700); | ||
} | |||
/* Factions 2x2 Strongholds Grid */ | |||
.factions-strongholds-grid { | |||
display: grid !important; | |||
grid-template-columns: repeat(2, minmax(0, 1fr)) !important; | |||
gap: 22px !important; | |||
width: 100% !important; | |||
box-sizing: border-box !important; | |||
margin: 25px 0 !important; | |||
} | |||
@media (max-width: 768px) { | |||
.factions-strongholds-grid { | |||
grid-template-columns: 1fr !important; | |||
gap: 16px !important; | |||
} | |||
} | |||
/* Hide page title heading on Main Page */ | |||
body.page-Main_Page #firstHeading, | |||
body.rootpage-Main_Page #firstHeading, | |||
body.page-Main_Page #siteSub, | |||
body.rootpage-Main_Page #siteSub, | |||
body.page-Main_Page #contentSub, | |||
body.rootpage-Main_Page #contentSub, | |||
body.page-Main_Page #jump-to-nav, | |||
body.rootpage-Main_Page #jump-to-nav { | |||
display: none !important; | |||
} | |||
/* UO:Renaissance Carousel Styles */ | |||
.uor-carousel { position: relative; max-width: 680px; margin: 0 auto; aspect-ratio: 935 / 619; } | |||
.uor-frame { position: relative; width: 100%; height: 100%; } | |||
.uor-back { | |||
position: absolute !important; | |||
top: 22.5% !important; | |||
right: 15.5% !important; | |||
bottom: 10.5% !important; | |||
left: 15.5% !important; | |||
background: #000000 !important; | |||
overflow: hidden !important; | |||
border-radius: 0 !important; | |||
z-index: 1 !important; | |||
} | |||
.uor-layer { | |||
position: absolute !important; | |||
inset: 0 !important; | |||
top: 0 !important; | |||
right: 0 !important; | |||
bottom: 0 !important; | |||
left: 0 !important; | |||
width: 100% !important; | |||
height: 100% !important; | |||
display: block; | |||
opacity: 0; | |||
pointer-events: none; | |||
background: transparent; | |||
transform: translateY(6px) scale(.985); | |||
transition: opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1); | |||
will-change: opacity, transform; | |||
z-index: 1; | |||
} | |||
.uor-layer.is-active { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); } | |||
.uor-layer img.uor-photo { width: 100%; height: 100%; object-fit: cover; object-position: center; border: none !important; } | |||
.uor-frameimg { | |||
display: block; width: 100%; height: 100%; position: relative; z-index: 2; pointer-events: none; | |||
filter: drop-shadow(0 3px 8px rgba(0,0,0,.5)); | |||
} | |||
.uor-captions { max-width: 680px; margin: 14px auto 0; padding: 0 8px; text-align: center; } | |||
.uor-cap { | |||
display: none; text-decoration: none; color: #f5e6c8 !important; font-weight: bold; line-height: 1.3; | |||
text-shadow: 0 1px 2px rgba(0,0,0,.85); opacity: 0; transform: translateY(4px); | |||
transition: opacity .5s ease, transform .5s ease; font-size: 1.3rem; font-family: 'Cinzel Decorative', serif; | |||
} | |||
.uor-cap.is-active { display: inline-block; opacity: 1; transform: translateY(0); } | |||
.uor-dots { display: flex; gap: 6px; justify-content: center; margin: 12px 0 0; } | |||
.uor-dot { | |||
width: 8px; height: 8px; border-radius: 999px; background: #2b5f2b; border: 1px solid #d4af37; | |||
cursor: pointer; transition: width .25s ease, background .25s ease; | |||
} | |||
.uor-dot.active { background: #d4af37; width: 18px; } | |||
/* Move content up to top of container on Main Page and remove padding */ | |||
body.page-Main_Page .mw-body, | |||
body.rootpage-Main_Page .mw-body { | |||
padding-top: 18px !important; | |||
} | |||
body.page-Main_Page #bodyContent, | |||
body.rootpage-Main_Page #bodyContent, | |||
body.page-Main_Page #mw-content-text, | |||
body.rootpage-Main_Page #mw-content-text { | |||
margin-top: 0 !important; | |||
padding-top: 0 !important; | |||
} | |||
body.page-Main_Page .uor-main-hero { | |||
border: none !important; | |||
background: none !important; | |||
box-shadow: none !important; | |||
padding: 0 !important; | |||
margin: 0 auto 16px auto !important; | |||
} | |||
/* ============================================================ | |||
MAIN PAGE TOP FIT - REMOVE ALL EXCESS TOP PADDING & MARGINS | |||
============================================================ */ | |||
body.page-Main_Page .mw-body, | |||
body.rootpage-Main_Page .mw-body { | |||
padding-top: 2px !important; | |||
} | |||
body.page-Main_Page #siteNotice, | |||
body.page-Main_Page #localNotice, | |||
body.page-Main_Page .mw-indicators, | |||
body.page-Main_Page #firstHeading, | |||
body.page-Main_Page #siteSub, | |||
body.page-Main_Page #contentSub, | |||
body.page-Main_Page #contentSub2, | |||
body.page-Main_Page #jump-to-nav, | |||
body.page-Main_Page .mw-jump-link { | |||
display: none !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
height: 0 !important; | |||
line-height: 0 !important; | |||
border: none !important; | |||
} | |||
body.page-Main_Page #bodyContent, | |||
body.page-Main_Page #mw-content-text, | |||
body.page-Main_Page .mw-parser-output { | |||
margin-top: 0 !important; | |||
padding-top: 0 !important; | |||
} | |||
body.page-Main_Page .mw-parser-output > p:empty, | |||
body.page-Main_Page .mw-parser-output > p.mw-empty-elt { | |||
display: none !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
height: 0 !important; | |||
} | |||
body.page-Main_Page .uor-main-hero { | |||
border: none !important; | |||
background: none !important; | |||
box-shadow: none !important; | |||
padding: 0 !important; | |||
margin: 0 auto 4px auto !important; | |||
} | |||
body.page-Main_Page .uor-main-hero > div:first-child { | |||
margin: 0 0 2px 0 !important; | |||
padding: 0 !important; | |||
line-height: 1.05 !important; | |||
} | |||
body.page-Main_Page .uor-carousel-block { | |||
margin-top: 0 !important; | |||
} | |||
#left-navigation, #p-namespaces, #p-associated-pages { display: none !important; } | |||
/* Floating Scroll to Top Arrow Button */ | |||
.uor-scroll-top-btn { | |||
position: fixed !important; | |||
bottom: 60px !important; | |||
width: 44px !important; | |||
height: 44px !important; | |||
background: linear-gradient(135deg, rgba(32, 24, 15, 0.95), rgba(16, 12, 7, 0.98)) !important; | |||
border: 2px solid #d4af37 !important; | |||
border-radius: 50% !important; | |||
color: #ffd700 !important; | |||
display: flex !important; | |||
align-items: center !important; | |||
justify-content: center !important; | |||
cursor: pointer !important; | |||
z-index: 100000 !important; | |||
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.85), 0 0 12px rgba(212, 175, 55, 0.4) !important; | |||
opacity: 0; | |||
visibility: hidden; | |||
transform: translateY(12px) scale(0.9); | |||
transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s, background 0.2s, box-shadow 0.2s, border-color 0.2s; | |||
user-select: none !important; | |||
text-decoration: none !important; | |||
outline: none !important; | |||
} | |||
.uor-scroll-top-btn.is-visible { | |||
opacity: 1 !important; | |||
visibility: visible !important; | |||
transform: translateY(0) scale(1) !important; | |||
} | |||
.uor-scroll-top-btn:hover { | |||
background: linear-gradient(135deg, rgba(52, 38, 22, 0.99), rgba(26, 19, 11, 1)) !important; | |||
border-color: #ffdf6a !important; | |||
color: #ffffff !important; | |||
transform: translateY(-3px) scale(1.08) !important; | |||
box-shadow: 0 6px 22px rgba(0, 0, 0, 0.95), 0 0 20px rgba(255, 215, 0, 0.7) !important; | |||
} | |||
.uor-scroll-top-btn:active { | |||
transform: translateY(0) scale(0.95) !important; | |||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.7) !important; | |||
} | |||
.uor-scroll-top-btn svg { | |||
width: 22px !important; | |||
height: 22px !important; | |||
fill: currentColor !important; | |||
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.9)) !important; | |||
display: block !important; | |||
pointer-events: none !important; | |||
} | |||
@media (max-width: 768px) { | |||
.uor-scroll-top-btn { | |||
bottom: 56px !important; | |||
width: 40px !important; | |||
height: 40px !important; | |||
} | |||
.uor-scroll-top-btn svg { | |||
width: 18px !important; | |||
height: 18px !important; | |||
} | |||
} | } | ||
Latest revision as of 18:28, 9 September 2026
/* UO:Renaissance Wiki - Global Theme Enhancements */
/* Spell Card Image Sizing & High-Resolution Pixel Art */
.uor-spell-card td.uor-spell-art {
width: 120px !important;
max-width: 120px !important;
text-align: center !important;
vertical-align: middle !important;
padding: 12px !important;
}
.uor-spell-card td.uor-spell-art img {
width: 88px !important;
max-width: 88px !important;
height: 88px !important;
border-radius: 4px;
border: 1px solid #1a150e;
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.7);
image-rendering: pixelated;
image-rendering: -moz-crisp-edges;
image-rendering: crisp-edges;
display: inline-block;
margin: 0 auto;
}
/* Fallback for table image sizing across wiki content */
.mw-body-content table td img {
max-height: 180px;
}
/* Responsive container and horizontal scrolling for data tables */
.table-responsive {
width: 100% !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch !important;
margin: 16px 0 24px 0 !important;
display: block !important;
}
/* Bulk Order Matrix Table Enhancements */
.bod-matrix-table {
width: 100% !important;
border-collapse: collapse !important;
font-size: 0.88rem !important;
}
.bod-matrix-table th {
white-space: nowrap !important;
padding: 8px 10px !important;
font-size: 0.84rem !important;
letter-spacing: 0.03em !important;
}
.bod-matrix-table td {
padding: 6px 10px !important;
white-space: nowrap !important;
vertical-align: middle !important;
}
.bod-matrix-table td.num {
font-family: 'Consolas', 'Courier New', monospace !important;
font-size: 0.88rem !important;
text-align: right !important;
}
.bod-matrix-table tr.tier-divider td {
border-bottom: 2px solid rgba(212, 175, 55, 0.45) !important;
}
.bod-matrix-table tr:hover td {
background: rgba(212, 175, 55, 0.1) !important;
}
/* Sidebar Hover Flyout Submenus */
#mw-panel {
z-index: 100 !important;
}
#mw-panel,
#mw-panel .portal,
#mw-panel .vector-menu-portal,
#mw-panel .vector-menu-content,
#mw-panel .vector-menu-content-list {
overflow: visible !important;
}
#mw-panel .portal ul li.uor-sidebar-has-submenu {
position: relative !important;
}
#mw-panel .portal ul li.uor-sidebar-has-submenu > a {
display: flex !important;
align-items: center !important;
width: 100% !important;
box-sizing: border-box !important;
}
#mw-panel .portal ul li.uor-sidebar-has-submenu > a .uor-submenu-arrow {
margin-left: auto !important;
font-size: 0.78rem !important;
color: var(--gold-dark, #a38237) !important;
transition: transform 0.2s ease, color 0.2s ease !important;
padding-left: 6px !important;
display: inline-block !important;
cursor: pointer !important;
}
#mw-panel .portal ul li.uor-sidebar-has-submenu:hover > a .uor-submenu-arrow,
#mw-panel .portal ul li.uor-sidebar-has-submenu.is-open > a .uor-submenu-arrow {
color: var(--gold-bright, #ffd700) !important;
transform: translateX(2px) !important;
}
.uor-sidebar-submenu {
display: none !important;
position: absolute !important;
left: calc(100% + 8px) !important;
top: -6px !important;
min-width: 185px !important;
background: rgba(14, 10, 6, 0.98) !important;
border: 1px solid rgba(212, 175, 55, 0.55) !important;
border-radius: 6px !important;
box-shadow: 0 6px 24px rgba(0, 0, 0, 0.9), 0 0 12px rgba(212, 175, 55, 0.25) !important;
padding: 6px 0 !important;
list-style: none !important;
margin: 0 !important;
z-index: 1050 !important;
backdrop-filter: blur(10px) !important;
-webkit-backdrop-filter: blur(10px) !important;
}
/* Hover bridge buffer so cursor doesn't lose hover across gap */
.uor-sidebar-submenu::before {
content: '' !important;
position: absolute !important;
left: -14px !important;
top: 0 !important;
bottom: 0 !important;
width: 16px !important;
background: transparent !important;
}
#mw-panel .portal ul li.uor-sidebar-has-submenu:hover > .uor-sidebar-submenu,
#mw-panel .portal ul li.uor-sidebar-has-submenu:focus-within > .uor-sidebar-submenu,
#mw-panel .portal ul li.uor-sidebar-has-submenu.is-open > .uor-sidebar-submenu {
display: block !important;
animation: uorSubmenuFade 0.16s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}
@keyframes uorSubmenuFade {
from {
opacity: 0;
transform: translateX(-4px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.uor-sidebar-submenu li {
padding: 0 !important;
margin: 0 !important;
list-style: none !important;
line-height: 1.25 !important;
}
.uor-sidebar-submenu li a {
display: flex !important;
align-items: center !important;
gap: 8px !important;
padding: 7px 14px !important;
color: var(--text-parchment, #e0d5ba) !important;
font-family: 'Cardo', Georgia, serif !important;
font-size: 0.90rem !important;
text-decoration: none !important;
white-space: nowrap !important;
transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
}
.uor-sidebar-submenu li a::before {
content: '▪';
color: var(--gold-dark, #a38237);
font-size: 0.68rem;
line-height: 1;
transition: color 0.15s ease;
}
.uor-sidebar-submenu li a:hover,
.uor-sidebar-submenu li a:focus {
background: rgba(212, 175, 55, 0.20) !important;
color: var(--gold-bright, #ffd700) !important;
transform: translateX(3px) !important;
text-decoration: none !important;
}
.uor-sidebar-submenu li a:hover::before {
color: var(--gold-bright, #ffd700);
}
/* Factions 2x2 Strongholds Grid */
.factions-strongholds-grid {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 22px !important;
width: 100% !important;
box-sizing: border-box !important;
margin: 25px 0 !important;
}
@media (max-width: 768px) {
.factions-strongholds-grid {
grid-template-columns: 1fr !important;
gap: 16px !important;
}
}
/* Hide page title heading on Main Page */
body.page-Main_Page #firstHeading,
body.rootpage-Main_Page #firstHeading,
body.page-Main_Page #siteSub,
body.rootpage-Main_Page #siteSub,
body.page-Main_Page #contentSub,
body.rootpage-Main_Page #contentSub,
body.page-Main_Page #jump-to-nav,
body.rootpage-Main_Page #jump-to-nav {
display: none !important;
}
/* UO:Renaissance Carousel Styles */
.uor-carousel { position: relative; max-width: 680px; margin: 0 auto; aspect-ratio: 935 / 619; }
.uor-frame { position: relative; width: 100%; height: 100%; }
.uor-back {
position: absolute !important;
top: 22.5% !important;
right: 15.5% !important;
bottom: 10.5% !important;
left: 15.5% !important;
background: #000000 !important;
overflow: hidden !important;
border-radius: 0 !important;
z-index: 1 !important;
}
.uor-layer {
position: absolute !important;
inset: 0 !important;
top: 0 !important;
right: 0 !important;
bottom: 0 !important;
left: 0 !important;
width: 100% !important;
height: 100% !important;
display: block;
opacity: 0;
pointer-events: none;
background: transparent;
transform: translateY(6px) scale(.985);
transition: opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1);
will-change: opacity, transform;
z-index: 1;
}
.uor-layer.is-active { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.uor-layer img.uor-photo { width: 100%; height: 100%; object-fit: cover; object-position: center; border: none !important; }
.uor-frameimg {
display: block; width: 100%; height: 100%; position: relative; z-index: 2; pointer-events: none;
filter: drop-shadow(0 3px 8px rgba(0,0,0,.5));
}
.uor-captions { max-width: 680px; margin: 14px auto 0; padding: 0 8px; text-align: center; }
.uor-cap {
display: none; text-decoration: none; color: #f5e6c8 !important; font-weight: bold; line-height: 1.3;
text-shadow: 0 1px 2px rgba(0,0,0,.85); opacity: 0; transform: translateY(4px);
transition: opacity .5s ease, transform .5s ease; font-size: 1.3rem; font-family: 'Cinzel Decorative', serif;
}
.uor-cap.is-active { display: inline-block; opacity: 1; transform: translateY(0); }
.uor-dots { display: flex; gap: 6px; justify-content: center; margin: 12px 0 0; }
.uor-dot {
width: 8px; height: 8px; border-radius: 999px; background: #2b5f2b; border: 1px solid #d4af37;
cursor: pointer; transition: width .25s ease, background .25s ease;
}
.uor-dot.active { background: #d4af37; width: 18px; }
/* Move content up to top of container on Main Page and remove padding */
body.page-Main_Page .mw-body,
body.rootpage-Main_Page .mw-body {
padding-top: 18px !important;
}
body.page-Main_Page #bodyContent,
body.rootpage-Main_Page #bodyContent,
body.page-Main_Page #mw-content-text,
body.rootpage-Main_Page #mw-content-text {
margin-top: 0 !important;
padding-top: 0 !important;
}
body.page-Main_Page .uor-main-hero {
border: none !important;
background: none !important;
box-shadow: none !important;
padding: 0 !important;
margin: 0 auto 16px auto !important;
}
/* ============================================================
MAIN PAGE TOP FIT - REMOVE ALL EXCESS TOP PADDING & MARGINS
============================================================ */
body.page-Main_Page .mw-body,
body.rootpage-Main_Page .mw-body {
padding-top: 2px !important;
}
body.page-Main_Page #siteNotice,
body.page-Main_Page #localNotice,
body.page-Main_Page .mw-indicators,
body.page-Main_Page #firstHeading,
body.page-Main_Page #siteSub,
body.page-Main_Page #contentSub,
body.page-Main_Page #contentSub2,
body.page-Main_Page #jump-to-nav,
body.page-Main_Page .mw-jump-link {
display: none !important;
margin: 0 !important;
padding: 0 !important;
height: 0 !important;
line-height: 0 !important;
border: none !important;
}
body.page-Main_Page #bodyContent,
body.page-Main_Page #mw-content-text,
body.page-Main_Page .mw-parser-output {
margin-top: 0 !important;
padding-top: 0 !important;
}
body.page-Main_Page .mw-parser-output > p:empty,
body.page-Main_Page .mw-parser-output > p.mw-empty-elt {
display: none !important;
margin: 0 !important;
padding: 0 !important;
height: 0 !important;
}
body.page-Main_Page .uor-main-hero {
border: none !important;
background: none !important;
box-shadow: none !important;
padding: 0 !important;
margin: 0 auto 4px auto !important;
}
body.page-Main_Page .uor-main-hero > div:first-child {
margin: 0 0 2px 0 !important;
padding: 0 !important;
line-height: 1.05 !important;
}
body.page-Main_Page .uor-carousel-block {
margin-top: 0 !important;
}
#left-navigation, #p-namespaces, #p-associated-pages { display: none !important; }
/* Floating Scroll to Top Arrow Button */
.uor-scroll-top-btn {
position: fixed !important;
bottom: 60px !important;
width: 44px !important;
height: 44px !important;
background: linear-gradient(135deg, rgba(32, 24, 15, 0.95), rgba(16, 12, 7, 0.98)) !important;
border: 2px solid #d4af37 !important;
border-radius: 50% !important;
color: #ffd700 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
cursor: pointer !important;
z-index: 100000 !important;
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.85), 0 0 12px rgba(212, 175, 55, 0.4) !important;
opacity: 0;
visibility: hidden;
transform: translateY(12px) scale(0.9);
transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s, background 0.2s, box-shadow 0.2s, border-color 0.2s;
user-select: none !important;
text-decoration: none !important;
outline: none !important;
}
.uor-scroll-top-btn.is-visible {
opacity: 1 !important;
visibility: visible !important;
transform: translateY(0) scale(1) !important;
}
.uor-scroll-top-btn:hover {
background: linear-gradient(135deg, rgba(52, 38, 22, 0.99), rgba(26, 19, 11, 1)) !important;
border-color: #ffdf6a !important;
color: #ffffff !important;
transform: translateY(-3px) scale(1.08) !important;
box-shadow: 0 6px 22px rgba(0, 0, 0, 0.95), 0 0 20px rgba(255, 215, 0, 0.7) !important;
}
.uor-scroll-top-btn:active {
transform: translateY(0) scale(0.95) !important;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.7) !important;
}
.uor-scroll-top-btn svg {
width: 22px !important;
height: 22px !important;
fill: currentColor !important;
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.9)) !important;
display: block !important;
pointer-events: none !important;
}
@media (max-width: 768px) {
.uor-scroll-top-btn {
bottom: 56px !important;
width: 40px !important;
height: 40px !important;
}
.uor-scroll-top-btn svg {
width: 18px !important;
height: 18px !important;
}
}