MediaWiki:Common.css: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
(492 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
/* CSS placed here will be applied to all skins */ | /* CSS placed here will be applied to all skins */ | ||
:root { | :root { | ||
/* | /* COLOR VALUES FOR ALL STYLED ELEMENT */ | ||
/* Top box */ | |||
-- | --top-box-A-bg-color: #58846A; | ||
--top-box-B-bg-color: #7A2E6F; | |||
--top-box-bg-color: # | --top-box-link-color: #EAEAEA; | ||
--top-box-link-color: # | --top-box-link-hover-color: #68D62C; | ||
--top-box-link-hover-color: # | |||
--top-box-shadow-color: rgba(0, 64, 0, 0.5); | --top-box-shadow-color: rgba(0, 64, 0, 0.5); | ||
/* | /* Section header */ | ||
--section-header-bg-color: #58846A; | |||
--section-header-text-color: #EAEAEA; | |||
--header-fx-drop-shadow: #003A13; | |||
--header-fx-shadow-blur: rgba(42, 62, 42, 0.4); | |||
--colored-box-bg-day: # | /* Colored box */ | ||
--colored-box-bg-day: #E8F0EA; | |||
--colored-box-text-color-day: #202122; | --colored-box-text-color-day: #202122; | ||
--colored-box-bg-night: #1A1F21; | |||
--colored-box-text-color-night: #EAEAEA; | |||
-- | |||
--signal-bg-color-day: # | /* Other colors */ | ||
--panel-link-hover-color: #62A376; | |||
--colored-text: #62A376; | |||
--lingo-underline-color: #CCCCCC; | |||
--grayed-white: #EAEAEA; | |||
/* Template: General colors */ | |||
--template-border-color: #AAAAAA; | |||
--template-color-tld: #A4A4C8; | |||
--highlight-background: #945CA2; | |||
--forced-dark-color: #101418; | |||
/* Template: Day mode colors */ | |||
--signal-bg-color-day: #EAEAEA; | |||
--signal-border-color-day: #0092D4; | --signal-border-color-day: #0092D4; | ||
--signal-text-color-day: #0092D4; | --signal-text-color-day: #0092D4; | ||
--warning-bg-color-day: #EAEAEA; | |||
--warning-border-color-day: #D48900; | |||
--warning-text-color-day: #D48900; | |||
--danger-bg-color-day: # | --danger-bg-color-day: #EAEAEA; | ||
--danger-border-color-day: #D40000; | --danger-border-color-day: #D40000; | ||
--danger-text-color-day: #D40000; | --danger-text-color-day: #D40000; | ||
-- | --library-border-color-day: #61A376; | ||
-- | --library-header-bg-day: #F1F6F3; | ||
-- | --library-cell-bg-day: #F9F9F9; | ||
-- | --library-text-color-day: #101418; | ||
/* Template: Night mode colors */ | |||
--signal-bg-color-night: #1E3A48; | |||
--signal-border-color-night: #0077B6; | |||
--signal-text-color-night: #66C2FF; | |||
--warning-bg-color-night: #4D4B48; | |||
--warning-border-color-night: #B47900; | |||
--warning-text-color-night: #FFD700; | |||
--danger-bg-color-night: #4B2828; | |||
--danger-border-color-night: #B30000; | |||
--danger-text-color-night: #FF6666; | |||
--library-border-color-night: #4A6655; | |||
--library-header-bg-night: #2D3E36; | |||
--library-cell-bg-night: #3C4946; | |||
--library-text-color-night: #F8F9FA; | |||
} | |||
/* ------------------------------------------------------------------------- */ | |||
/* HACKS */ | |||
/* Hard fix to control upper spacing on mobile from the auto-generated P */ | |||
-- | /* @media (max-width: 660px) { | ||
.skin-vector-2022 #bodyContent .mw-parser-output > p:first-child { | |||
display: none !important; | |||
} | |||
} */ | |||
/* Conditional for the Lua template */ | |||
/* Recommended-ish way to remove the "Main Page" title header */ | |||
.mainpage h1.page-header__title, body.page-Main_Page h1.firstHeading | |||
{ display:none } | |||
/* Hard fix to remove the edit bar from the Main page */ | |||
.page-Main_Page .vector-page-toolbar-container { | |||
display: none !important; | |||
border-bottom: none !important; | |||
} | |||
-- | .vector-sitenotice-container { | ||
-- | display: none !important; | ||
-- | } | ||
-- | |||
/* Hard fix for forced red links in Cite This Page extension's page */ | |||
.mw-specialCiteThisPage-styles a.new { | |||
pointer-events: none; | |||
text-decoration: none; | |||
color: inherit; | |||
cursor: text; | |||
} | |||
/* Hacks for "Confirm account requests", "Cite This Page" and "Replace Text" extensions, so their boxes are in permanent dark mode due to lack of native support */ | |||
.mw-confirmaccount-body-0, ul.mw-confirmaccount-body-0, li.mw-confirmaccount-body-0, table.mw-confirmaccount-body-0, li.mw-confirmaccount-type-0, .mw-confirmaccount-msg, .mw-confirmaccount-bar, .mw-specialCiteThisPage-bibliographic, .ext-replacetext-searchoptions { | |||
background: var(--forced-dark-color) !important; | |||
color: var(--grayed-white) !important; | |||
} | |||
#wpNewBio { | |||
background-color: var(--forced-dark-color) !important; | |||
color: var(--grayed-white) !important; | |||
} | |||
.ext-replacetext-searchoptions h4 | |||
{ color: var(--grayed-white) !important; } | |||
/* ------------------------------------------------------------------------- */ | |||
/* CUSTOM LOGO HANDLING FOR VERSION 1.43 */ | |||
.vector-header.mw-header .mw-logo { | |||
display: block !important; | |||
position: relative; | |||
text-indent: -9999px; /* Hide any built‑in text */ | |||
overflow: hidden; | |||
padding: 0 !important; | |||
margin: 0 !important; | |||
/* Set a responsive width: minimum ~7.5rem (~120px), ideal 20vw, maximum ~12.5rem (~200px) */ | |||
width: clamp(7.5rem, 20vw, 12.5rem) !important; | |||
/* Maintain a 4:1 horizontal ratio using calc() as a fallback */ | |||
height: calc(clamp(7.5rem, 20vw, 12.5rem) / 4) !important; | |||
aspect-ratio: 4 / 1 !important; | |||
/* Add responsive left margin for breathing room */ | |||
margin-left: clamp(0.5rem, 2vw, 1rem) !important; | |||
/* Scale down the logo by 15% without altering the responsive calculations */ | |||
transform: scale(0.85); | |||
transform-origin: left center; | |||
} | |||
/* Hide any existing image(s) within the logo container */ | |||
.vector-header.mw-header .mw-logo img { | |||
display: none !important; | |||
} | |||
/* Insert custom horizontal logo via a pseudo-element */ | |||
.vector-header.mw-header .mw-logo::before { | |||
content: ""; | |||
display: block; | |||
width: 100%; | |||
height: 100%; | |||
background: url("/images/2/28/ICANNWiki-Logo-2025-Horizontal.png") no-repeat center; | |||
background-size: contain; | |||
} | |||
/* Provide accessible alt text off-screen for screen readers */ | |||
.vector-header.mw-header .mw-logo::after { | |||
content: "ICANNWiki logo"; | |||
position: absolute; | |||
left: -9999px; | |||
} | |||
/* Hides the footer logo */ | |||
.minerva-footer-logo { | |||
display: none !important; | |||
} | |||
/* Target the mobile header logo anchor within the branding box */ | |||
.branding-box a { | |||
position: relative; | |||
display: block; | |||
text-indent: -9999px; /* Hide any built‑in text */ | |||
overflow: hidden; | |||
/* Responsive width: minimum ~7.5rem (120px), ideal 20vw, maximum ~12.5rem (200px) */ | |||
width: clamp(7.5rem, 20vw, 12.5rem); | |||
/* Maintain a 4:1 ratio */ | |||
height: calc(clamp(7.5rem, 20vw, 12.5rem) / 4); | |||
} | |||
/* Hide the internal span (and its img) */ | |||
.branding-box a span { | |||
display: none !important; | |||
} | } | ||
/* Inject custom horizontal logo via a pseudo-element */ | |||
.branding-box a::before { | |||
content: ""; | |||
position: absolute; | |||
top: 0; | |||
left: 0; | |||
display: block; | |||
width: 100%; | |||
height: 100%; | |||
background: url("/images/2/28/ICANNWiki-Logo-2025-Horizontal.png") no-repeat center; | |||
background-size: contain; | |||
} | |||
/* Provide accessible off-screen alt text */ | |||
.branding-box a::after { | |||
content: "ICANNWiki logo"; | |||
position: absolute; | |||
left: -9999px; | |||
} | |||
/* ------------------------------------------------------------------------- */ | |||
/* UI STYLES */ | /* UI STYLES */ | ||
/* | /* In-article links modified by the Lingo extension */ | ||
.mw-lingo-term { | .mw-lingo-term { | ||
text-decoration: underline solid var(--lingo-underline-color); | text-decoration: underline solid var(--lingo-underline-color); | ||
Line 70: | Line 217: | ||
} | } | ||
/* Popup generated when user hovers over a link | /* Popup generated when user hovers over a Lingo link */ | ||
.qtip-content { | .qtip-content { | ||
padding: 8px; | padding: 8px; | ||
Line 77: | Line 224: | ||
} | } | ||
/* Navigation | /* Navigation panels to the left and right sides (in Vector at least) of the main interface */ | ||
#mw-panel a { | #mw-panel a { | ||
font-size: 1. | font-size: 1.0em; | ||
} | } | ||
#mw-panel a:hover { | #mw-panel a:hover, main#content nav[aria-label="Page tools"] a:hover { | ||
color: var(--panel-link-hover-color); | color: var(--panel-link-hover-color); | ||
text-decoration: none; | text-decoration: none; | ||
} | } | ||
/* | /* ------------------------------------------------------------------------- */ | ||
/* | /* VECTOR 2022 */ | ||
. | |||
/* Vector 2022: Styling of "Log in" and "Register" buttons */ | |||
/* "Log in" */ | |||
.skin-vector-2022 #p-vector-user-menu-overflow .vector-menu-content-list #pt-login-2 > a { | |||
background-color: rgb(245, 245, 245); | |||
color: #000; | |||
border: 1px solid var(--grayed-white); | |||
font-weight: 600; | |||
padding: 5px 10px; | |||
border-radius: 5px; | |||
padding: | text-decoration: none; | ||
} | |||
/* "Request account" */ | |||
.skin-vector-2022 #p-vector-user-menu-overflow .vector-menu-content-list #pt-createaccount-2 > a { | |||
background-color: var(--section-header-bg-color); | |||
color: var(--grayed-white); | |||
border: 1px solid var(--section-header-bg-color); | |||
font-weight: 600; | |||
padding: 5px 10px; | |||
border-radius: 5px; | |||
text-decoration: none; | |||
} | |||
/* Vector 2022: Footer size control */ | |||
.skin-vector-2022 .mw-footer-container { | |||
padding-top: 1rem !important; | |||
padding-bottom: 0 !important; | |||
margin-top: 0 !important; | |||
margin-bottom: 0 !important; | |||
} | |||
/* ------------------------------------------------------------------------- */ | |||
/* MINERVA NEUE */ | |||
/* Minerva: Styling for "Register" button added JS to the mobile sidebar */ | |||
#p-personal li.menu__item--register a { | |||
display: flex; | |||
align-items: center; | |||
padding: 0.5em 1em; | |||
color: inherit; | |||
text-decoration: none; | |||
} | |||
#p-personal li.menu__item--register a:hover { | |||
background-color: #f5f5f5; | |||
} | |||
#p-personal li.menu__item--register .minerva-icon { | |||
margin-right: 0.5em; | |||
background-image: url('/path/to/your-register-icon.svg'); | |||
background-size: contain; | |||
background-repeat: no-repeat; | |||
width: 1.2em; | |||
height: 1.2em; | |||
} | } | ||
/* | /* Minerva: Footer size control */ | ||
. | .mw-footer.minerva-footer .post-content.footer-content { | ||
margin-top: 1rem !important; | |||
padding-top: 0 !important; | |||
padding-bottom: 0 !important; | |||
} | } | ||
/* ------------------------------------------------------------------------- */ | /* ------------------------------------------------------------------------- */ | ||
/* MAIN PAGE | /* MAIN PAGE: TOP BOX */ | ||
/* Container for the top menu boxes */ | |||
.icannwiki-top-row { | |||
display: flex; | |||
gap: 8px; /* Space between the boxes */ | |||
align-items: stretch; /* Ensures equal height */ | |||
flex-wrap: nowrap; /* Prevent stacking unless needed */ | |||
margin-bottom: 14px; /* Space below the container */ | |||
} | |||
/* | /* First menu box (Bigger) */ | ||
.icannwiki-top-box.tab-fx { | |||
position: relative; /* Create a positioning context for the pseudo-element */ | |||
flex-grow: 2; | |||
flex-basis: 60%; | |||
display: flex; | |||
justify-content: center; /* Center the lists as a group */ | |||
gap: 16px; /* Add equal spacing between the lists */ | |||
background-color: var(--top-box-A-bg-color); | |||
/* background-image: url('images/f/f7/ICANNWiki-BG-Base.svg'); */ | |||
background-size: cover; | |||
padding: 6px; | |||
border-radius: 8px; | |||
} | |||
/* | /* Second menu box (Smaller) */ | ||
.icannwiki-top-box { | .icannwiki-top-box.small-tab-fx { | ||
position: relative; | |||
flex-grow: 1; | |||
flex-basis: 30%; | |||
background-color: var(--top-box-bg-color | display: flex; | ||
justify-content: center; | |||
background-color: var(--top-box-B-bg-color); | |||
background-size: cover; | background-size: cover; | ||
border-radius: 4px; | padding: 6px; | ||
border-radius: 8px; | |||
padding: 4px; | } | ||
/* First menu tab */ | |||
.icannwiki-top-box.tab-fx::before { | |||
content: "ICANN"; | |||
position: absolute; | |||
top: -1.5em; /* Positioned just above the top edge of the box */ | |||
left: 0; /* Attached to the left side */ | |||
padding: 0.2em 0.8em; | |||
background: var(--top-box-A-bg-color); | |||
border-radius: 4px 4px 0 0; | |||
font-weight: bold; | |||
text-align: center; | |||
color: var(--top-box-link-color); | |||
text-shadow: 2px 2px 4px var(--top-box-shadow-color); | |||
white-space: nowrap; | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
z-index: 2; | |||
} | |||
/* Second menu tab */ | |||
.icannwiki-top-box.small-tab-fx::before { | |||
content: "Governance"; | |||
position: absolute; | |||
top: -1.5em; | |||
left: 0; | |||
padding: 0.2em 0.8em; | |||
background: var(--top-box-B-bg-color); | |||
border-radius: 4px 4px 0 0; | |||
font-weight: bold; | |||
text-align: center; | |||
color: var(--top-box-link-color); | |||
text-shadow: 2px 2px 4px var(--top-box-shadow-color); | |||
white-space: nowrap; | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
z-index: 2; | |||
} | } | ||
/* Hide bullet points */ | /* Hide menu bullet points */ | ||
.icannwiki-top-box ul { | .icannwiki-top-box ul { | ||
list-style: none; | list-style: none; | ||
list-style-type: none; | list-style-type: none; | ||
display: flex; | |||
flex-direction: column; | |||
gap: 8px; /* Vertical spacing between LI elements */ | |||
flex-grow: 1; /* Ensures the lists have equal width */ | |||
} | } | ||
/* Changes bullet points | /* Changes menu bullet points into a PNG */ | ||
.icannwiki-top-box ul li:before { | .icannwiki-top-box ul li:before { | ||
background-image: url('/images/8/82/1F4CE.png'); | background-image: url('/images/8/82/1F4CE.png'); | ||
background-size: | background-size: 24px 24px; | ||
display: inline-block; | display: inline-block; | ||
vertical-align: middle; | vertical-align: middle; | ||
width: | width: 24px; | ||
height: | height: 24px; | ||
content:""; | content: ""; | ||
} | } | ||
Line 163: | Line 413: | ||
} | } | ||
/* | /* Menu box list text special effect */ | ||
.top-box-fx { | .top-box-fx { | ||
text-shadow: 2px 2px 4px var(--top-box-shadow-color); /* Shadow blur */ | text-shadow: 2px 2px 4px var(--top-box-shadow-color); /* Shadow blur */ | ||
} | } | ||
/* MOBILE VERSION OF THE TOP BOX */ | |||
@media screen and (max-width: 660px) { | |||
/* Stack top boxes vertically */ | |||
.icannwiki-top-row { | |||
flex-direction: column; | |||
gap: 8px; | |||
margin: 0; | |||
padding: 0; | |||
box-sizing: border-box; | |||
} | |||
/* Make each top box full-width */ | |||
.icannwiki-top-box, | |||
.icannwiki-top-box.tab-fx, | |||
.icannwiki-top-box.small-tab-fx { | |||
flex: 0 0 100%; | |||
width: 100%; | |||
padding: 6px; | |||
border-radius: 8px; | |||
margin: 0 auto 8px auto; | |||
box-sizing: border-box; | |||
background-size: cover; | |||
} | |||
/* Remove the pseudo-element tabs so no space is reserved */ | |||
.icannwiki-top-box.tab-fx::before, | |||
.icannwiki-top-box.small-tab-fx::before { | |||
all: unset !important; | |||
display: none !important; | |||
} | |||
/* Adjust bullet point styling for mobile */ | |||
.icannwiki-top-box ul li:before { | |||
display: none; | |||
} | |||
/* Set a compact base font size for list items */ | |||
.icannwiki-top-box ul li { | |||
font-size: 0.8em; | |||
} | |||
/* Reformat all ULs into a horizontal inline layout */ | |||
.icannwiki-top-box ul { | |||
display: flex; | |||
flex-direction: row; | |||
flex-wrap: wrap; /* Wrap only when container width is exceeded */ | |||
gap: 4px; | |||
margin: 0; | |||
padding: 0; | |||
list-style: none; | |||
box-sizing: border-box; | |||
} | |||
/* Render list items compactly and inline */ | |||
.icannwiki-top-box ul li { | |||
display: inline-block; | |||
padding: 2px 4px; /* Compact padding for inline display */ | |||
margin: 0; | |||
line-height: 1.2; | |||
white-space: nowrap; | |||
box-sizing: border-box; | |||
} | |||
/* Style links within list items */ | |||
.icannwiki-top-box ul li a { | |||
color: var(--top-box-link-color); | |||
font-weight: bold; | |||
text-decoration: none; | |||
transition: color 0.2s ease-in-out; | |||
display: inline-block; | |||
box-sizing: border-box; | |||
} | |||
.icannwiki-top-box ul li a:hover { | |||
color: var(--top-box-link-hover-color); | |||
} | |||
/* Ensure overall top box content remains contained and images scale properly */ | |||
.icannwiki-top-box { | |||
font-size: 1em; | |||
overflow: hidden; | |||
} | |||
.icannwiki-top-box img { | |||
max-width: 100%; | |||
height: auto; | |||
display: block; | |||
margin: 0 auto; | |||
box-sizing: border-box; | |||
} | |||
/* Remove extra vertical space from the first paragraph */ | |||
.icannwiki-top-row > .mw-parser-output > p:first-child::before { | |||
content: "" !important; | |||
display: none !important; | |||
height: 0 !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
} | |||
.icannwiki-top-row > .mw-content-ltr > p:first-child { | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
line-height: 0 !important; | |||
} | |||
} | |||
/* ------------------------------------------------------------------------- */ | |||
/* MAIN PAGE: BODY */ | |||
/* Header for other boxes in the main page */ | /* Header for other boxes in the main page */ | ||
.icannwiki-section-header { | .icannwiki-section-header { | ||
clear: both; | |||
background: var(--section-header-bg-color); | background: var(--section-header-bg-color); | ||
font-family: sans-serif; | font-family: sans-serif; | ||
Line 176: | Line 536: | ||
text-align: left; | text-align: left; | ||
color: var(--section-header-text-color); | color: var(--section-header-text-color); | ||
height: 1. | line-height: 1.5; /* Sets vertical text spacing */ | ||
padding: .5em; | padding: 0.20em; | ||
padding-left: 0.5em; | |||
height: auto; /* Allow height to adjust dynamically */ | |||
border-radius: 5px; | border-radius: 5px; | ||
} | } | ||
/* Colored container box for text */ | |||
/* Colored | |||
.icannwiki-colored-box { | .icannwiki-colored-box { | ||
padding-left: 1%; | padding-left: 1%; | ||
Line 202: | Line 557: | ||
} | } | ||
} | } | ||
/* .icannwiki-colored-box DAY */ | /* .icannwiki-colored-box DAY */ | ||
@media screen { | @media screen { | ||
Line 217: | Line 573: | ||
} | } | ||
/* Main page content box: left */ | /* Main page content box: left (bigger) */ | ||
.icannwiki-half-width-left { | .icannwiki-half-width-left { | ||
width: | width: 54.5%; | ||
float: left; | float: left; | ||
} | } | ||
/* Main page content box: right */ | /* Main page content box: right (smaller) */ | ||
.icannwiki-half-width-right { | .icannwiki-half-width-right { | ||
width: | width: 44.5%; | ||
float: right; | float: right; | ||
} | } | ||
Line 231: | Line 587: | ||
/* Sponsors template */ | /* Sponsors template */ | ||
.icannwiki-sponsors { | .icannwiki-sponsors { | ||
display: | display: flex; | ||
flex-wrap: wrap; | |||
justify-content: center; | |||
gap: 2px 8px; /* 2px vertical gap, 8px horizontal gap */ | |||
padding: 0; | padding: 0; | ||
margin: 0 | margin: 0 0 8px; | ||
} | } | ||
.icannwiki-sponsors li { | .icannwiki-sponsors li { | ||
flex: 0 0 140px; | |||
display: flex; | display: flex; | ||
justify-content: center; | justify-content: center; | ||
align-items: center; | align-items: center; | ||
height: 140px; | |||
height: 140px; | |||
box-sizing: border-box; | box-sizing: border-box; | ||
} | } | ||
Line 265: | Line 610: | ||
} | } | ||
.icannwiki- | /* ------------------------------------------------------------------------- */ | ||
/* BOX WITH SPECIAL EFFECTS */ | |||
/* Content box with special effects: Main container */ | |||
.icannwiki-colored-box-highlighted { | |||
padding: 0.5em; | |||
font-size: 1.05em; | |||
position: relative; | |||
border-radius: 8px; | |||
box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.6); /* Drop shadow */ | |||
color: var(--colored-box-text-color-day); /* Default to day */ | |||
background-color: var(--colored-box-bg-day); /* Default to day */ | |||
overflow: hidden; | |||
margin-bottom: 1em; | |||
z-index: 1; | |||
} | |||
/* Content box with special effects: DAY and NIGHT themes */ | |||
html.skin-theme-clientpref-day .icannwiki-colored-box-highlighted { | |||
background-color: var(--colored-box-bg-day); | |||
color: var(--colored-box-text-color-day); | |||
} | |||
html.skin-theme-clientpref-night .icannwiki-colored-box-highlighted { | |||
background-color: var(--colored-box-bg-night); | |||
color: var(--colored-box-text-color-night); | |||
} | |||
/* Content box with special effects: Sheen animation */ | |||
.icannwiki-colored-box-highlighted::after { | |||
content: ""; | |||
position: absolute; | |||
top: 0; | |||
left: -60%; | |||
width: 220%; | |||
height: 100%; | |||
background: linear-gradient( | |||
145deg, | |||
rgba(88, 132, 106, 0) 10%, /* Start fully transparent */ | |||
rgba(88, 132, 106, 0.4) 40%, /* Peak */ | |||
rgba(88, 132, 106, 0) 80% /* End fully transparent */ | |||
); | |||
animation: subtleSheen 16s ease-in-out infinite; | |||
animation-delay: -2s; | |||
animation-fill-mode: both; | |||
opacity: 0.6; | |||
z-index: 1; | |||
border-radius: 8px; | |||
} | |||
/* Content box with special effects: Animation Keyframes */ | |||
@keyframes subtleSheen | |||
{ | |||
0% { transform: translateX(-120%); } | |||
5% { transform: translateX(-90%); } | |||
50% { transform: translateX(50%); } | |||
100% { transform: translateX(120%); } | |||
} | |||
/* ------------------------------------------------------------------------- */ | |||
/* CORE TEMPLATE STYLES */ | |||
/* Template pages: Aggressively highlighted box */ | |||
.template-highlight { | |||
border: 1px solid darkgray; | |||
background-color: var(--highlight-background); | |||
padding: 4px; | |||
} | |||
/* THE BELOW APPLIES TO ALL BOXES FLOATING TO THE RIGHT OF ARTICLES */ | |||
/* Body for templates */ | |||
.template-table { | |||
float: right; | |||
max-width: 280px; | |||
width: auto; | |||
word-wrap:break-word; | |||
overflow-wrap: break-word; | |||
box-sizing: border-box; | |||
border: 1px solid; | |||
border-color: var(template-border-color); | |||
padding: 6px; | |||
margin-left: 12px; | |||
} | |||
@media (max-width: 680px) { | |||
.template-table { | |||
float: none !important; | |||
margin: 0 auto !important; | |||
width: 100% !important; | |||
max-width: 100% !important; | |||
display: table !important; | |||
} | |||
} | |||
/* Generic divider for template boxes */ | |||
.template-divider { | |||
margin: 15px 0; | |||
border: none; | |||
border-top: 1px solid; | |||
border-top-color: var(template-border-color); | |||
} | |||
/* Base title row for templates */ | |||
.template-title { | |||
text-align: center; | |||
font-size: 1.2em; | |||
font-weight: bold; | |||
padding: 4px; | |||
} | |||
/* ------------------------------------------------------------------------- */ | |||
/* SPECIFIC TEMPLATE STYLES */ | |||
/* Template:Lua: Outer container for the floating badge */ | |||
.floating-badge { | |||
float: right; | |||
margin: 1px; | |||
border: 1px solid rgba(110, 0, 90, 0.5); | |||
border-radius: 8px; | |||
overflow: hidden; /* ensures rounded corners clip inner content */ | |||
} | |||
/* Template:Lua: Table used for layout */ | |||
.floating-badge-table { | |||
width: 238px; | |||
background: rgba(110, 0, 90, 0.5); /* purple background with transparency */ | |||
border-spacing: 0; /* remove cell spacing */ | |||
} | |||
/* Template:Lua: Left cell: Lua icon */ | |||
.floating-badge-logo { | |||
width: 45px; | |||
min-height: 50px; /* at least as tall as the image */ | |||
text-align: center; | |||
font-size: 9.5pt; | |||
color: white; | |||
padding: 0 1px 0 0; | |||
line-height: 1.2em; | |||
vertical-align: middle; | |||
white-space: nowrap; /* keep the icon cell from wrapping */ | |||
} | |||
/* Template:Lua: Right cell: Lua text */ | |||
.floating-badge-info { | |||
text-align: left; | |||
font-size: 9.5pt; | |||
padding: 0 4px; | |||
min-height: 50px; | |||
line-height: 1.2em; | |||
color: white; | |||
vertical-align: middle; | |||
white-space: normal; /* allow wrapping */ | |||
word-wrap: break-word; | |||
} | |||
/* Hatnote templates */ | |||
.hatnote { | |||
font-style: italic; | |||
padding: 4px; | |||
border: 1px dashed; | |||
border-color: var(template-border-color); | |||
} | |||
/* Template:People */ | |||
.template-people { | |||
float: right; | |||
border: 1px solid; | |||
border-color: var(template-border-color); | |||
max-width: 160px; | |||
padding: 4px; | |||
padding-bottom: 10px; | |||
margin-left: 10px | |||
} | |||
/* ------------------------------------------------------------------------- */ | |||
/* TEMPLATE:TLD */ | |||
.template-title-tld { | |||
background-color: var(--template-color-tld); | |||
} | |||
.tld-logo { | |||
text-align: center; | |||
padding: 10px 0; | |||
} | |||
.tld-logo img { | |||
max-width: 150px; /* Ensures the logo width is capped at 150px */ | |||
height: auto; /* Maintains the aspect ratio */ | |||
} | |||
.tld-idn { | |||
text-align: center; | |||
font-size: 1.5em; | |||
} | |||
/* Module:SocialMedia: Recolor black social media icons to green */ | |||
.external-social img { | |||
/* Make the image pure black first, then shift its hue to green */ | |||
filter: brightness(0) saturate(100%) invert(34%) sepia(100%) saturate(300%) hue-rotate(100deg) brightness(90%) contrast(85%); | |||
} | |||
/* TEMPLATE:TLD FLAIRS */ | |||
/* --- Flair Row Base Styling --- */ | |||
/* The dummy flair row gets a base style to enable pseudo-element decoration */ | |||
.tld-flair { | |||
position: relative; | |||
padding: 5px 0; | |||
text-align: center; | |||
border-bottom: 1px solid #ccc; | |||
} | |||
/* --- Flair Label Styling (Without IDN) --- */ | |||
/* Use :before to attach flair text */ | |||
/* Geographic TLD flair */ | |||
.tld-flair.tld-template-subtype-geotld:before { | |||
content: "geoTLD"; | |||
font-family: "Helvetica Neue", Helvetica, sans-serif; | |||
font-size: 1.5em; | |||
color: #006064; | |||
background: rgba(0, 128, 128, 0.1); | |||
padding: 2px 5px; | |||
border-radius: 3px; | |||
} | |||
/* Brand TLD flair */ | |||
.tld-flair.tld-template-subtype-brandtld:before { | |||
content: "dotBrand"; | |||
font-family: Verdana, sans-serif; | |||
font-size: 1.5em; | |||
font-weight: bold; | |||
color: #880E4F; | |||
background: rgba(255, 192, 203, 0.1); | |||
padding: 2px 5px; | |||
border-radius: 3px; | |||
} | |||
/* Sponsored TLD flair */ | |||
.tld-flair.tld-template-subtype-sponsored:before { | |||
content: "Sponsored TLD"; | |||
font-family: Georgia, serif; | |||
font-size: 1.5em; | |||
font-style: italic; | |||
color: #BF360C; | |||
background: rgba(255, 215, 0, 0.1); | |||
padding: 2px 5px; | |||
border-radius: 3px; | |||
} | |||
/* Legacy TLD flair */ | |||
.tld-flair.tld-template-subtype-legacytld:before { | |||
content: "Legacy TLD"; | |||
font-family: "Times New Roman", serif; | |||
font-size: 1.5em; | |||
text-transform: uppercase; | |||
color: #4A148C; | |||
background: rgba(230, 230, 250, 0.1); | |||
padding: 2px 5px; | |||
border-radius: 3px; | |||
} | |||
/* 2012 nGTLD round flair */ | |||
.tld-flair.tld-template-subtype-ngtld-round-2012:before { | |||
content: "gTLD Round: 2012"; | |||
font-family: "Trebuchet MS", sans-serif; | |||
font-size: 1.5em; | |||
font-weight: bold; | |||
color: #1B5E20; | |||
background: rgba(144, 238, 144, 0.1); | |||
padding: 2px 5px; | |||
border-radius: 3px; | |||
} | |||
/* IDN gTLD styling */ | |||
.tld-flair.tld-template-idn-gtld:before { | |||
content: "IDN / gTLD"; | |||
margin-right: 0.5em; | |||
color: #2fa8d8; | |||
} | |||
/* IDN ccTLD styling */ | |||
.tld-flair.tld-template-idn-cctld:before { | |||
content: "IDN / ccTLD"; | |||
margin-right: 0.5em; | |||
color: #2fa8d8; | |||
} | } | ||
/* ------------------------------------------------------------------------- */ | /* ------------------------------------------------------------------------- */ | ||
/* TEMPLATE STYLES */ | /* CENTERED TEMPLATE STYLES */ | ||
/* | /* Signaling template */ | ||
.icannwiki- | .icannwiki-signal { | ||
display: flex; | display: flex; | ||
justify-content: center; | justify-content: center; | ||
Line 284: | Line 918: | ||
margin: 0 auto; | margin: 0 auto; | ||
padding: 10px; | padding: 10px; | ||
background-color: var(-- | background-color: var(--signal-bg-color-day); | ||
border: 2px solid var(-- | border: 2px solid var(--signal-border-color-day); | ||
border-left: 16px solid var(-- | border-left: 16px solid var(--signal-border-color-day); | ||
} | } | ||
.icannwiki- | .icannwiki-signal a { | ||
font-weight: bold; | font-weight: bold; | ||
color: var(-- | color: var(--signal-text-color-day); | ||
} | } | ||
/* | /* Warning template */ | ||
.icannwiki- | .icannwiki-warning { | ||
display: flex; | display: flex; | ||
justify-content: center; | justify-content: center; | ||
Line 304: | Line 938: | ||
margin: 0 auto; | margin: 0 auto; | ||
padding: 10px; | padding: 10px; | ||
background-color: var(-- | background-color: var(--warning-bg-color-day); | ||
border: 2px solid var(-- | border: 2px solid var(--warning-border-color-day); | ||
border-left: 16px solid var(-- | border-left: 16px solid var(--warning-border-color-day); | ||
} | } | ||
.icannwiki- | .icannwiki-warning a { | ||
font-weight: bold; | font-weight: bold; | ||
color: var(-- | color: var(--warning-text-color-day); | ||
} | } | ||
Line 414: | Line 1,048: | ||
color: var(--danger-text-color-night); | color: var(--danger-text-color-night); | ||
} | } | ||
} | } | ||
/* ------------------------------------------------------------------------- */ | /* ------------------------------------------------------------------------- */ | ||
/* INTERNET GOVERNANCE | /* INTERNET & DIGITAL GOVERNANCE LIBRARY */ | ||
. | .library-box { | ||
border-collapse: collapse; | border-collapse: collapse; | ||
border: 1px solid var(-- | border: 1px solid var(--library-border-color-day); | ||
} | } | ||
. | .library-box th, .library-box td { | ||
border: 1px solid var(-- | border: 1px solid var(--library-border-color-day); | ||
} | } | ||
. | .library-box th { | ||
background-color: var(-- | background-color: var(--library-header-bg-day); | ||
color: var(-- | color: var(--library-text-color-day); | ||
text-transform: uppercase; | text-transform: uppercase; | ||
padding: 8px; | padding: 8px; | ||
} | } | ||
. | .library-box td { | ||
background-color: var(-- | background-color: var(--library-cell-bg-day); | ||
color: var(-- | color: var(--library-text-color-day); | ||
padding: 4px 10px; | padding: 4px 10px; | ||
} | } | ||
/* . | /* .library-box AUTOMATIC */ | ||
@media screen and (prefers-color-scheme: dark) { | @media screen and (prefers-color-scheme: dark) { | ||
html.skin-theme-clientpref-os . | html.skin-theme-clientpref-os .library-box { | ||
border: 1px solid var(-- | border: 1px solid var(--library-border-color-night); | ||
} | } | ||
html.skin-theme-clientpref-os . | html.skin-theme-clientpref-os .library-box th { | ||
background-color: var(-- | background-color: var(--library-header-bg-night); | ||
color: var(-- | color: var(--library-text-color-night); | ||
} | } | ||
html.skin-theme-clientpref-os . | html.skin-theme-clientpref-os .library-box td { | ||
background-color: var(-- | background-color: var(--library-cell-bg-night); | ||
color: var(-- | color: var(--library-text-color-night); | ||
} | } | ||
} | } | ||
/* . | /* .library-box DAY */ | ||
@media screen { | @media screen { | ||
html.skin-theme-clientpref-day . | html.skin-theme-clientpref-day .library-box { | ||
border: 1px solid var(-- | border: 1px solid var(--library-border-color-day); | ||
} | } | ||
html.skin-theme-clientpref-day . | html.skin-theme-clientpref-day .library-box th { | ||
background-color: var(-- | background-color: var(--library-header-bg-day); | ||
color: var(-- | color: var(--library-text-color-day); | ||
} | } | ||
html.skin-theme-clientpref-day . | html.skin-theme-clientpref-day .library-box td { | ||
background-color: var(-- | background-color: var(--library-cell-bg-day); | ||
color: var(-- | color: var(--library-text-color-day); | ||
} | } | ||
} | } | ||
/* . | |||
/* .library-box NIGHT */ | |||
@media screen { | @media screen { | ||
html.skin-theme-clientpref-night . | html.skin-theme-clientpref-night .library-box { | ||
border: 1px solid var(-- | border: 1px solid var(--library-border-color-night); | ||
} | } | ||
html.skin-theme-clientpref-night . | html.skin-theme-clientpref-night .library-box th { | ||
background-color: var(-- | background-color: var(--library-header-bg-night); | ||
color: var(-- | color: var(--library-text-color-night); | ||
} | } | ||
html.skin-theme-clientpref-night . | html.skin-theme-clientpref-night .library-box td { | ||
background-color: var(-- | background-color: var(--library-cell-bg-night); | ||
color: var(-- | color: var(--library-text-color-night); | ||
} | } | ||
} | } | ||
Line 530: | Line 1,155: | ||
.icannwiki-justified { | .icannwiki-justified { | ||
text-align: justify; | text-align: justify; | ||
} | |||
/* Bold text */ | |||
.icannwiki-bold { | |||
font-weight: bold; | |||
} | |||
.icannwiki-colored { | |||
color: var(--colored-text); | |||
} | } | ||
Latest revision as of 10:31, 16 February 2025
/* CSS placed here will be applied to all skins */
:root {
/* COLOR VALUES FOR ALL STYLED ELEMENT */
/* Top box */
--top-box-A-bg-color: #58846A;
--top-box-B-bg-color: #7A2E6F;
--top-box-link-color: #EAEAEA;
--top-box-link-hover-color: #68D62C;
--top-box-shadow-color: rgba(0, 64, 0, 0.5);
/* Section header */
--section-header-bg-color: #58846A;
--section-header-text-color: #EAEAEA;
--header-fx-drop-shadow: #003A13;
--header-fx-shadow-blur: rgba(42, 62, 42, 0.4);
/* Colored box */
--colored-box-bg-day: #E8F0EA;
--colored-box-text-color-day: #202122;
--colored-box-bg-night: #1A1F21;
--colored-box-text-color-night: #EAEAEA;
/* Other colors */
--panel-link-hover-color: #62A376;
--colored-text: #62A376;
--lingo-underline-color: #CCCCCC;
--grayed-white: #EAEAEA;
/* Template: General colors */
--template-border-color: #AAAAAA;
--template-color-tld: #A4A4C8;
--highlight-background: #945CA2;
--forced-dark-color: #101418;
/* Template: Day mode colors */
--signal-bg-color-day: #EAEAEA;
--signal-border-color-day: #0092D4;
--signal-text-color-day: #0092D4;
--warning-bg-color-day: #EAEAEA;
--warning-border-color-day: #D48900;
--warning-text-color-day: #D48900;
--danger-bg-color-day: #EAEAEA;
--danger-border-color-day: #D40000;
--danger-text-color-day: #D40000;
--library-border-color-day: #61A376;
--library-header-bg-day: #F1F6F3;
--library-cell-bg-day: #F9F9F9;
--library-text-color-day: #101418;
/* Template: Night mode colors */
--signal-bg-color-night: #1E3A48;
--signal-border-color-night: #0077B6;
--signal-text-color-night: #66C2FF;
--warning-bg-color-night: #4D4B48;
--warning-border-color-night: #B47900;
--warning-text-color-night: #FFD700;
--danger-bg-color-night: #4B2828;
--danger-border-color-night: #B30000;
--danger-text-color-night: #FF6666;
--library-border-color-night: #4A6655;
--library-header-bg-night: #2D3E36;
--library-cell-bg-night: #3C4946;
--library-text-color-night: #F8F9FA;
}
/* ------------------------------------------------------------------------- */
/* HACKS */
/* Hard fix to control upper spacing on mobile from the auto-generated P */
/* @media (max-width: 660px) {
.skin-vector-2022 #bodyContent .mw-parser-output > p:first-child {
display: none !important;
}
} */
/* Conditional for the Lua template */
/* Recommended-ish way to remove the "Main Page" title header */
.mainpage h1.page-header__title, body.page-Main_Page h1.firstHeading
{ display:none }
/* Hard fix to remove the edit bar from the Main page */
.page-Main_Page .vector-page-toolbar-container {
display: none !important;
border-bottom: none !important;
}
.vector-sitenotice-container {
display: none !important;
}
/* Hard fix for forced red links in Cite This Page extension's page */
.mw-specialCiteThisPage-styles a.new {
pointer-events: none;
text-decoration: none;
color: inherit;
cursor: text;
}
/* Hacks for "Confirm account requests", "Cite This Page" and "Replace Text" extensions, so their boxes are in permanent dark mode due to lack of native support */
.mw-confirmaccount-body-0, ul.mw-confirmaccount-body-0, li.mw-confirmaccount-body-0, table.mw-confirmaccount-body-0, li.mw-confirmaccount-type-0, .mw-confirmaccount-msg, .mw-confirmaccount-bar, .mw-specialCiteThisPage-bibliographic, .ext-replacetext-searchoptions {
background: var(--forced-dark-color) !important;
color: var(--grayed-white) !important;
}
#wpNewBio {
background-color: var(--forced-dark-color) !important;
color: var(--grayed-white) !important;
}
.ext-replacetext-searchoptions h4
{ color: var(--grayed-white) !important; }
/* ------------------------------------------------------------------------- */
/* CUSTOM LOGO HANDLING FOR VERSION 1.43 */
.vector-header.mw-header .mw-logo {
display: block !important;
position: relative;
text-indent: -9999px; /* Hide any built‑in text */
overflow: hidden;
padding: 0 !important;
margin: 0 !important;
/* Set a responsive width: minimum ~7.5rem (~120px), ideal 20vw, maximum ~12.5rem (~200px) */
width: clamp(7.5rem, 20vw, 12.5rem) !important;
/* Maintain a 4:1 horizontal ratio using calc() as a fallback */
height: calc(clamp(7.5rem, 20vw, 12.5rem) / 4) !important;
aspect-ratio: 4 / 1 !important;
/* Add responsive left margin for breathing room */
margin-left: clamp(0.5rem, 2vw, 1rem) !important;
/* Scale down the logo by 15% without altering the responsive calculations */
transform: scale(0.85);
transform-origin: left center;
}
/* Hide any existing image(s) within the logo container */
.vector-header.mw-header .mw-logo img {
display: none !important;
}
/* Insert custom horizontal logo via a pseudo-element */
.vector-header.mw-header .mw-logo::before {
content: "";
display: block;
width: 100%;
height: 100%;
background: url("/images/2/28/ICANNWiki-Logo-2025-Horizontal.png") no-repeat center;
background-size: contain;
}
/* Provide accessible alt text off-screen for screen readers */
.vector-header.mw-header .mw-logo::after {
content: "ICANNWiki logo";
position: absolute;
left: -9999px;
}
/* Hides the footer logo */
.minerva-footer-logo {
display: none !important;
}
/* Target the mobile header logo anchor within the branding box */
.branding-box a {
position: relative;
display: block;
text-indent: -9999px; /* Hide any built‑in text */
overflow: hidden;
/* Responsive width: minimum ~7.5rem (120px), ideal 20vw, maximum ~12.5rem (200px) */
width: clamp(7.5rem, 20vw, 12.5rem);
/* Maintain a 4:1 ratio */
height: calc(clamp(7.5rem, 20vw, 12.5rem) / 4);
}
/* Hide the internal span (and its img) */
.branding-box a span {
display: none !important;
}
/* Inject custom horizontal logo via a pseudo-element */
.branding-box a::before {
content: "";
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
background: url("/images/2/28/ICANNWiki-Logo-2025-Horizontal.png") no-repeat center;
background-size: contain;
}
/* Provide accessible off-screen alt text */
.branding-box a::after {
content: "ICANNWiki logo";
position: absolute;
left: -9999px;
}
/* ------------------------------------------------------------------------- */
/* UI STYLES */
/* In-article links modified by the Lingo extension */
.mw-lingo-term {
text-decoration: underline solid var(--lingo-underline-color);
text-decoration-thickness: 2px;
}
/* Popup generated when user hovers over a Lingo link */
.qtip-content {
padding: 8px;
line-height: 125%;
font-size: 1.25em;
}
/* Navigation panels to the left and right sides (in Vector at least) of the main interface */
#mw-panel a {
font-size: 1.0em;
}
#mw-panel a:hover, main#content nav[aria-label="Page tools"] a:hover {
color: var(--panel-link-hover-color);
text-decoration: none;
}
/* ------------------------------------------------------------------------- */
/* VECTOR 2022 */
/* Vector 2022: Styling of "Log in" and "Register" buttons */
/* "Log in" */
.skin-vector-2022 #p-vector-user-menu-overflow .vector-menu-content-list #pt-login-2 > a {
background-color: rgb(245, 245, 245);
color: #000;
border: 1px solid var(--grayed-white);
font-weight: 600;
padding: 5px 10px;
border-radius: 5px;
text-decoration: none;
}
/* "Request account" */
.skin-vector-2022 #p-vector-user-menu-overflow .vector-menu-content-list #pt-createaccount-2 > a {
background-color: var(--section-header-bg-color);
color: var(--grayed-white);
border: 1px solid var(--section-header-bg-color);
font-weight: 600;
padding: 5px 10px;
border-radius: 5px;
text-decoration: none;
}
/* Vector 2022: Footer size control */
.skin-vector-2022 .mw-footer-container {
padding-top: 1rem !important;
padding-bottom: 0 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
/* ------------------------------------------------------------------------- */
/* MINERVA NEUE */
/* Minerva: Styling for "Register" button added JS to the mobile sidebar */
#p-personal li.menu__item--register a {
display: flex;
align-items: center;
padding: 0.5em 1em;
color: inherit;
text-decoration: none;
}
#p-personal li.menu__item--register a:hover {
background-color: #f5f5f5;
}
#p-personal li.menu__item--register .minerva-icon {
margin-right: 0.5em;
background-image: url('/path/to/your-register-icon.svg');
background-size: contain;
background-repeat: no-repeat;
width: 1.2em;
height: 1.2em;
}
/* Minerva: Footer size control */
.mw-footer.minerva-footer .post-content.footer-content {
margin-top: 1rem !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
}
/* ------------------------------------------------------------------------- */
/* MAIN PAGE: TOP BOX */
/* Container for the top menu boxes */
.icannwiki-top-row {
display: flex;
gap: 8px; /* Space between the boxes */
align-items: stretch; /* Ensures equal height */
flex-wrap: nowrap; /* Prevent stacking unless needed */
margin-bottom: 14px; /* Space below the container */
}
/* First menu box (Bigger) */
.icannwiki-top-box.tab-fx {
position: relative; /* Create a positioning context for the pseudo-element */
flex-grow: 2;
flex-basis: 60%;
display: flex;
justify-content: center; /* Center the lists as a group */
gap: 16px; /* Add equal spacing between the lists */
background-color: var(--top-box-A-bg-color);
/* background-image: url('images/f/f7/ICANNWiki-BG-Base.svg'); */
background-size: cover;
padding: 6px;
border-radius: 8px;
}
/* Second menu box (Smaller) */
.icannwiki-top-box.small-tab-fx {
position: relative;
flex-grow: 1;
flex-basis: 30%;
display: flex;
justify-content: center;
background-color: var(--top-box-B-bg-color);
background-size: cover;
padding: 6px;
border-radius: 8px;
}
/* First menu tab */
.icannwiki-top-box.tab-fx::before {
content: "ICANN";
position: absolute;
top: -1.5em; /* Positioned just above the top edge of the box */
left: 0; /* Attached to the left side */
padding: 0.2em 0.8em;
background: var(--top-box-A-bg-color);
border-radius: 4px 4px 0 0;
font-weight: bold;
text-align: center;
color: var(--top-box-link-color);
text-shadow: 2px 2px 4px var(--top-box-shadow-color);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
z-index: 2;
}
/* Second menu tab */
.icannwiki-top-box.small-tab-fx::before {
content: "Governance";
position: absolute;
top: -1.5em;
left: 0;
padding: 0.2em 0.8em;
background: var(--top-box-B-bg-color);
border-radius: 4px 4px 0 0;
font-weight: bold;
text-align: center;
color: var(--top-box-link-color);
text-shadow: 2px 2px 4px var(--top-box-shadow-color);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
z-index: 2;
}
/* Hide menu bullet points */
.icannwiki-top-box ul {
list-style: none;
list-style-type: none;
display: flex;
flex-direction: column;
gap: 8px; /* Vertical spacing between LI elements */
flex-grow: 1; /* Ensures the lists have equal width */
}
/* Changes menu bullet points into a PNG */
.icannwiki-top-box ul li:before {
background-image: url('/images/8/82/1F4CE.png');
background-size: 24px 24px;
display: inline-block;
vertical-align: middle;
width: 24px;
height: 24px;
content: "";
}
.icannwiki-top-box a {
color: var(--top-box-link-color);
font-weight: bold;
text-decoration: none;
}
.icannwiki-top-box a:hover {
color: var(--top-box-link-hover-color);
text-decoration: none;
}
/* Menu box list text special effect */
.top-box-fx {
text-shadow: 2px 2px 4px var(--top-box-shadow-color); /* Shadow blur */
}
/* MOBILE VERSION OF THE TOP BOX */
@media screen and (max-width: 660px) {
/* Stack top boxes vertically */
.icannwiki-top-row {
flex-direction: column;
gap: 8px;
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* Make each top box full-width */
.icannwiki-top-box,
.icannwiki-top-box.tab-fx,
.icannwiki-top-box.small-tab-fx {
flex: 0 0 100%;
width: 100%;
padding: 6px;
border-radius: 8px;
margin: 0 auto 8px auto;
box-sizing: border-box;
background-size: cover;
}
/* Remove the pseudo-element tabs so no space is reserved */
.icannwiki-top-box.tab-fx::before,
.icannwiki-top-box.small-tab-fx::before {
all: unset !important;
display: none !important;
}
/* Adjust bullet point styling for mobile */
.icannwiki-top-box ul li:before {
display: none;
}
/* Set a compact base font size for list items */
.icannwiki-top-box ul li {
font-size: 0.8em;
}
/* Reformat all ULs into a horizontal inline layout */
.icannwiki-top-box ul {
display: flex;
flex-direction: row;
flex-wrap: wrap; /* Wrap only when container width is exceeded */
gap: 4px;
margin: 0;
padding: 0;
list-style: none;
box-sizing: border-box;
}
/* Render list items compactly and inline */
.icannwiki-top-box ul li {
display: inline-block;
padding: 2px 4px; /* Compact padding for inline display */
margin: 0;
line-height: 1.2;
white-space: nowrap;
box-sizing: border-box;
}
/* Style links within list items */
.icannwiki-top-box ul li a {
color: var(--top-box-link-color);
font-weight: bold;
text-decoration: none;
transition: color 0.2s ease-in-out;
display: inline-block;
box-sizing: border-box;
}
.icannwiki-top-box ul li a:hover {
color: var(--top-box-link-hover-color);
}
/* Ensure overall top box content remains contained and images scale properly */
.icannwiki-top-box {
font-size: 1em;
overflow: hidden;
}
.icannwiki-top-box img {
max-width: 100%;
height: auto;
display: block;
margin: 0 auto;
box-sizing: border-box;
}
/* Remove extra vertical space from the first paragraph */
.icannwiki-top-row > .mw-parser-output > p:first-child::before {
content: "" !important;
display: none !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
}
.icannwiki-top-row > .mw-content-ltr > p:first-child {
margin: 0 !important;
padding: 0 !important;
line-height: 0 !important;
}
}
/* ------------------------------------------------------------------------- */
/* MAIN PAGE: BODY */
/* Header for other boxes in the main page */
.icannwiki-section-header {
clear: both;
background: var(--section-header-bg-color);
font-family: sans-serif;
font-weight: bold;
font-size: 1.1em;
text-align: left;
color: var(--section-header-text-color);
line-height: 1.5; /* Sets vertical text spacing */
padding: 0.20em;
padding-left: 0.5em;
height: auto; /* Allow height to adjust dynamically */
border-radius: 5px;
}
/* Colored container box for text */
.icannwiki-colored-box {
padding-left: 1%;
padding-right: 1%;
font-size: 1.05em;
}
/* .icannwiki-colored-box AUTOMATIC */
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .icannwiki-colored-box {
background-color: var(--colored-box-bg-night);
color: var(--colored-box-text-color-night);
}
}
/* .icannwiki-colored-box DAY */
@media screen {
html.skin-theme-clientpref-day .icannwiki-colored-box {
background-color: var(--colored-box-bg-day);
color: var(--colored-box-text-color-day);
}
}
/* .icannwiki-colored-box NIGHT */
@media screen {
html.skin-theme-clientpref-night .icannwiki-colored-box {
background-color: var(--colored-box-bg-night);
color: var(--colored-box-text-color-night);
}
}
/* Main page content box: left (bigger) */
.icannwiki-half-width-left {
width: 54.5%;
float: left;
}
/* Main page content box: right (smaller) */
.icannwiki-half-width-right {
width: 44.5%;
float: right;
}
/* Sponsors template */
.icannwiki-sponsors {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 2px 8px; /* 2px vertical gap, 8px horizontal gap */
padding: 0;
margin: 0 0 8px;
}
.icannwiki-sponsors li {
flex: 0 0 140px;
display: flex;
justify-content: center;
align-items: center;
height: 140px;
box-sizing: border-box;
}
.icannwiki-sponsors img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
/* ------------------------------------------------------------------------- */
/* BOX WITH SPECIAL EFFECTS */
/* Content box with special effects: Main container */
.icannwiki-colored-box-highlighted {
padding: 0.5em;
font-size: 1.05em;
position: relative;
border-radius: 8px;
box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.6); /* Drop shadow */
color: var(--colored-box-text-color-day); /* Default to day */
background-color: var(--colored-box-bg-day); /* Default to day */
overflow: hidden;
margin-bottom: 1em;
z-index: 1;
}
/* Content box with special effects: DAY and NIGHT themes */
html.skin-theme-clientpref-day .icannwiki-colored-box-highlighted {
background-color: var(--colored-box-bg-day);
color: var(--colored-box-text-color-day);
}
html.skin-theme-clientpref-night .icannwiki-colored-box-highlighted {
background-color: var(--colored-box-bg-night);
color: var(--colored-box-text-color-night);
}
/* Content box with special effects: Sheen animation */
.icannwiki-colored-box-highlighted::after {
content: "";
position: absolute;
top: 0;
left: -60%;
width: 220%;
height: 100%;
background: linear-gradient(
145deg,
rgba(88, 132, 106, 0) 10%, /* Start fully transparent */
rgba(88, 132, 106, 0.4) 40%, /* Peak */
rgba(88, 132, 106, 0) 80% /* End fully transparent */
);
animation: subtleSheen 16s ease-in-out infinite;
animation-delay: -2s;
animation-fill-mode: both;
opacity: 0.6;
z-index: 1;
border-radius: 8px;
}
/* Content box with special effects: Animation Keyframes */
@keyframes subtleSheen
{
0% { transform: translateX(-120%); }
5% { transform: translateX(-90%); }
50% { transform: translateX(50%); }
100% { transform: translateX(120%); }
}
/* ------------------------------------------------------------------------- */
/* CORE TEMPLATE STYLES */
/* Template pages: Aggressively highlighted box */
.template-highlight {
border: 1px solid darkgray;
background-color: var(--highlight-background);
padding: 4px;
}
/* THE BELOW APPLIES TO ALL BOXES FLOATING TO THE RIGHT OF ARTICLES */
/* Body for templates */
.template-table {
float: right;
max-width: 280px;
width: auto;
word-wrap:break-word;
overflow-wrap: break-word;
box-sizing: border-box;
border: 1px solid;
border-color: var(template-border-color);
padding: 6px;
margin-left: 12px;
}
@media (max-width: 680px) {
.template-table {
float: none !important;
margin: 0 auto !important;
width: 100% !important;
max-width: 100% !important;
display: table !important;
}
}
/* Generic divider for template boxes */
.template-divider {
margin: 15px 0;
border: none;
border-top: 1px solid;
border-top-color: var(template-border-color);
}
/* Base title row for templates */
.template-title {
text-align: center;
font-size: 1.2em;
font-weight: bold;
padding: 4px;
}
/* ------------------------------------------------------------------------- */
/* SPECIFIC TEMPLATE STYLES */
/* Template:Lua: Outer container for the floating badge */
.floating-badge {
float: right;
margin: 1px;
border: 1px solid rgba(110, 0, 90, 0.5);
border-radius: 8px;
overflow: hidden; /* ensures rounded corners clip inner content */
}
/* Template:Lua: Table used for layout */
.floating-badge-table {
width: 238px;
background: rgba(110, 0, 90, 0.5); /* purple background with transparency */
border-spacing: 0; /* remove cell spacing */
}
/* Template:Lua: Left cell: Lua icon */
.floating-badge-logo {
width: 45px;
min-height: 50px; /* at least as tall as the image */
text-align: center;
font-size: 9.5pt;
color: white;
padding: 0 1px 0 0;
line-height: 1.2em;
vertical-align: middle;
white-space: nowrap; /* keep the icon cell from wrapping */
}
/* Template:Lua: Right cell: Lua text */
.floating-badge-info {
text-align: left;
font-size: 9.5pt;
padding: 0 4px;
min-height: 50px;
line-height: 1.2em;
color: white;
vertical-align: middle;
white-space: normal; /* allow wrapping */
word-wrap: break-word;
}
/* Hatnote templates */
.hatnote {
font-style: italic;
padding: 4px;
border: 1px dashed;
border-color: var(template-border-color);
}
/* Template:People */
.template-people {
float: right;
border: 1px solid;
border-color: var(template-border-color);
max-width: 160px;
padding: 4px;
padding-bottom: 10px;
margin-left: 10px
}
/* ------------------------------------------------------------------------- */
/* TEMPLATE:TLD */
.template-title-tld {
background-color: var(--template-color-tld);
}
.tld-logo {
text-align: center;
padding: 10px 0;
}
.tld-logo img {
max-width: 150px; /* Ensures the logo width is capped at 150px */
height: auto; /* Maintains the aspect ratio */
}
.tld-idn {
text-align: center;
font-size: 1.5em;
}
/* Module:SocialMedia: Recolor black social media icons to green */
.external-social img {
/* Make the image pure black first, then shift its hue to green */
filter: brightness(0) saturate(100%) invert(34%) sepia(100%) saturate(300%) hue-rotate(100deg) brightness(90%) contrast(85%);
}
/* TEMPLATE:TLD FLAIRS */
/* --- Flair Row Base Styling --- */
/* The dummy flair row gets a base style to enable pseudo-element decoration */
.tld-flair {
position: relative;
padding: 5px 0;
text-align: center;
border-bottom: 1px solid #ccc;
}
/* --- Flair Label Styling (Without IDN) --- */
/* Use :before to attach flair text */
/* Geographic TLD flair */
.tld-flair.tld-template-subtype-geotld:before {
content: "geoTLD";
font-family: "Helvetica Neue", Helvetica, sans-serif;
font-size: 1.5em;
color: #006064;
background: rgba(0, 128, 128, 0.1);
padding: 2px 5px;
border-radius: 3px;
}
/* Brand TLD flair */
.tld-flair.tld-template-subtype-brandtld:before {
content: "dotBrand";
font-family: Verdana, sans-serif;
font-size: 1.5em;
font-weight: bold;
color: #880E4F;
background: rgba(255, 192, 203, 0.1);
padding: 2px 5px;
border-radius: 3px;
}
/* Sponsored TLD flair */
.tld-flair.tld-template-subtype-sponsored:before {
content: "Sponsored TLD";
font-family: Georgia, serif;
font-size: 1.5em;
font-style: italic;
color: #BF360C;
background: rgba(255, 215, 0, 0.1);
padding: 2px 5px;
border-radius: 3px;
}
/* Legacy TLD flair */
.tld-flair.tld-template-subtype-legacytld:before {
content: "Legacy TLD";
font-family: "Times New Roman", serif;
font-size: 1.5em;
text-transform: uppercase;
color: #4A148C;
background: rgba(230, 230, 250, 0.1);
padding: 2px 5px;
border-radius: 3px;
}
/* 2012 nGTLD round flair */
.tld-flair.tld-template-subtype-ngtld-round-2012:before {
content: "gTLD Round: 2012";
font-family: "Trebuchet MS", sans-serif;
font-size: 1.5em;
font-weight: bold;
color: #1B5E20;
background: rgba(144, 238, 144, 0.1);
padding: 2px 5px;
border-radius: 3px;
}
/* IDN gTLD styling */
.tld-flair.tld-template-idn-gtld:before {
content: "IDN / gTLD";
margin-right: 0.5em;
color: #2fa8d8;
}
/* IDN ccTLD styling */
.tld-flair.tld-template-idn-cctld:before {
content: "IDN / ccTLD";
margin-right: 0.5em;
color: #2fa8d8;
}
/* ------------------------------------------------------------------------- */
/* CENTERED TEMPLATE STYLES */
/* Signaling template */
.icannwiki-signal {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
height: auto;
width: 60%;
margin: 0 auto;
padding: 10px;
background-color: var(--signal-bg-color-day);
border: 2px solid var(--signal-border-color-day);
border-left: 16px solid var(--signal-border-color-day);
}
.icannwiki-signal a {
font-weight: bold;
color: var(--signal-text-color-day);
}
/* Warning template */
.icannwiki-warning {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
height: auto;
width: 60%;
margin: 0 auto;
padding: 10px;
background-color: var(--warning-bg-color-day);
border: 2px solid var(--warning-border-color-day);
border-left: 16px solid var(--warning-border-color-day);
}
.icannwiki-warning a {
font-weight: bold;
color: var(--warning-text-color-day);
}
/* Danger template */
.icannwiki-danger {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
height: auto;
width: 60%;
margin: 0 auto;
padding: 10px;
background-color: var(--danger-bg-color-day);
border: 2px solid var(--danger-border-color-day);
border-left: 16px solid var(--danger-border-color-day);
}
.icannwiki-danger a {
font-weight: bold;
color: var(--danger-text-color-day);
}
/* .icannwiki-warning, .icannwiki-signal, .icannwiki-danger AUTOMATIC */
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .icannwiki-warning {
background-color: var(--warning-bg-color-night);
border: 2px solid var(--warning-border-color-night);
border-left: 16px solid var(--warning-border-color-night);
}
html.skin-theme-clientpref-os .icannwiki-warning a {
color: var(--warning-text-color-night);
}
html.skin-theme-clientpref-os .icannwiki-signal {
background-color: var(--signal-bg-color-night);
border: 2px solid var(--signal-border-color-night);
border-left: 16px solid var(--signal-border-color-night);
}
html.skin-theme-clientpref-os .icannwiki-signal a {
color: var(--signal-text-color-night);
}
html.skin-theme-clientpref-os .icannwiki-danger {
background-color: var(--danger-bg-color-night);
border: 2px solid var(--danger-border-color-night);
border-left: 16px solid var(--danger-border-color-night);
}
html.skin-theme-clientpref-os .icannwiki-danger a {
color: var(--danger-text-color-night);
}
}
/* .icannwiki-warning, .icannwiki-signal, .icannwiki-danger DAY */
@media screen {
html.skin-theme-clientpref-day .icannwiki-warning {
background-color: var(--warning-bg-color-day);
border: 2px solid var(--warning-border-color-day);
border-left: 16px solid var(--warning-border-color-day);
}
html.skin-theme-clientpref-day .icannwiki-warning a {
color: var(--warning-text-color-day);
}
html.skin-theme-clientpref-day .icannwiki-signal {
background-color: var(--signal-bg-color-day);
border: 2px solid var(--signal-border-color-day);
border-left: 16px solid var(--signal-border-color-day);
}
html.skin-theme-clientpref-day .icannwiki-signal a {
color: var(--signal-text-color-day);
}
html.skin-theme-clientpref-day .icannwiki-danger {
background-color: var(--danger-bg-color-day);
border: 2px solid var(--danger-border-color-day);
border-left: 16px solid var(--danger-border-color-day);
}
html.skin-theme-clientpref-day .icannwiki-danger a {
color: var(--danger-text-color-day);
}
}
/* .icannwiki-warning, .icannwiki-signal, .icannwiki-danger NIGHT */
@media screen {
html.skin-theme-clientpref-night .icannwiki-warning {
background-color: var(--warning-bg-color-night);
border: 2px solid var(--warning-border-color-night);
border-left: 16px solid var(--warning-border-color-night);
}
html.skin-theme-clientpref-night .icannwiki-warning a {
color: var(--warning-text-color-night);
}
html.skin-theme-clientpref-night .icannwiki-signal {
background-color: var(--signal-bg-color-night);
border: 2px solid var(--signal-border-color-night);
border-left: 16px solid var(--signal-border-color-night);
}
html.skin-theme-clientpref-night .icannwiki-signal a {
color: var(--signal-text-color-night);
}
html.skin-theme-clientpref-night .icannwiki-danger {
background-color: var(--danger-bg-color-night);
border: 2px solid var(--danger-border-color-night);
border-left: 16px solid var(--danger-border-color-night);
}
html.skin-theme-clientpref-night .icannwiki-danger a {
color: var(--danger-text-color-night);
}
}
/* ------------------------------------------------------------------------- */
/* INTERNET & DIGITAL GOVERNANCE LIBRARY */
.library-box {
border-collapse: collapse;
border: 1px solid var(--library-border-color-day);
}
.library-box th, .library-box td {
border: 1px solid var(--library-border-color-day);
}
.library-box th {
background-color: var(--library-header-bg-day);
color: var(--library-text-color-day);
text-transform: uppercase;
padding: 8px;
}
.library-box td {
background-color: var(--library-cell-bg-day);
color: var(--library-text-color-day);
padding: 4px 10px;
}
/* .library-box AUTOMATIC */
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .library-box {
border: 1px solid var(--library-border-color-night);
}
html.skin-theme-clientpref-os .library-box th {
background-color: var(--library-header-bg-night);
color: var(--library-text-color-night);
}
html.skin-theme-clientpref-os .library-box td {
background-color: var(--library-cell-bg-night);
color: var(--library-text-color-night);
}
}
/* .library-box DAY */
@media screen {
html.skin-theme-clientpref-day .library-box {
border: 1px solid var(--library-border-color-day);
}
html.skin-theme-clientpref-day .library-box th {
background-color: var(--library-header-bg-day);
color: var(--library-text-color-day);
}
html.skin-theme-clientpref-day .library-box td {
background-color: var(--library-cell-bg-day);
color: var(--library-text-color-day);
}
}
/* .library-box NIGHT */
@media screen {
html.skin-theme-clientpref-night .library-box {
border: 1px solid var(--library-border-color-night);
}
html.skin-theme-clientpref-night .library-box th {
background-color: var(--library-header-bg-night);
color: var(--library-text-color-night);
}
html.skin-theme-clientpref-night .library-box td {
background-color: var(--library-cell-bg-night);
color: var(--library-text-color-night);
}
}
/* ------------------------------------------------------------------------- */
/* GENERIC STYLES */
/* Separator (blank) */
.icannwiki-clearfix {
clear: both;
}
/* Hide bullets on lists */
.no-bullets {
list-style: none;
list-style-type: none;
padding-left: 0;
}
/* Hide second level bullets on lists */
.no-second-level-bullets ul ul {
list-style: none;
list-style-type: none;
padding-left: 0; /* Adjust padding to align with the parent list */
}
.no-second-level-bullets ul ul li {
padding-left: 0px; /* Adjust padding to maintain alignment if needed */
}
/* Centered text */
.icannwiki-centered {
text-align: center;
}
/* Justified text */
.icannwiki-justified {
text-align: justify;
}
/* Bold text */
.icannwiki-bold {
font-weight: bold;
}
.icannwiki-colored {
color: var(--colored-text);
}
/* Upper case text */
.icannwiki-uppercase {
text-transform: uppercase;
}
/* Larger text */
.icannwiki-font-large {
font-size: 1.25em;
}