Jump to content

MediaWiki:Common.css: Difference between revisions

From ICANNWiki
Dustin Loup (talk | contribs)
No edit summary
No edit summary
 
Line 1: Line 1:
/* CSS placed here will be applied to all skins */
/* CSS placed here will be applied to all skins */


/* No page name on main page (en) */
:root {
body.page-Main_Page h1.firstHeading {
    /* COLOR VALUES FOR ALL STYLED ELEMENT */
display: none;
    /* 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;
  }
  }


.IW_BigGreenIconBox {
/* Hard fix for forced red links in Cite This Page extension's page */
     border-spacing: 0px;
.mw-specialCiteThisPage-styles a.new {
     border: 1px solid #28903b;
     pointer-events: none;
     display: inline-block !important;
    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;
}
}


.IW_BigGreenIconBox td {
.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;
     text-align: center;
     width: 85px;
     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 */
}
}


.IW_BigGreenIconBox td img {
/* MOBILE VERSION OF THE TOP BOX */
     margin: -2px;
@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;
    }
}
}


.IW_MissionAndSponsorsBox {
/* ------------------------------------------------------------------------- */
float: right;
 
border: 1px solid #c0c0c0;  
/* MAIN PAGE: BODY */
border-bottom: 1px solid #c0c0c0;
 
width: 375px;
/* Header for other boxes in the main page */
margin-left: 20px;
.icannwiki-section-header {
background-color: #FFF;
    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;
}
}


.IW_MissionAndSponsorsBox .MissionStatement {
/* Colored container box for text */
color: #000;
.icannwiki-colored-box {
background-color: #f6f6f6;
    padding-left: 1%;
padding: 5px 10px;
    padding-right: 1%;
border: 1px solid #0d8323;
    font-size: 1.05em;
text-align:center;
}
}


.IW_MissionAndSponsorsBox .Sponsors {
/* .icannwiki-colored-box AUTOMATIC */
margin: 0;
@media screen and (prefers-color-scheme: dark) {
font-family: sans-serif;
    html.skin-theme-clientpref-os .icannwiki-colored-box {
font-size: 12px;
        background-color: var(--colored-box-bg-night);
text-align: left;
        color: var(--colored-box-text-color-night);
padding: 20px 0px 20px 15px;
    }
}
}


.IW_MissionAndSponsorsBox .Sponsors .Title {
/* .icannwiki-colored-box DAY */
font-size: 20px;
@media screen {
font-weight: bold;
    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);
    }
}
}


.IW_MissionAndSponsorsBox .Sponsors .AskButton {
/* Main page content box: left (bigger) */
width: 300px;
.icannwiki-half-width-left {
margin: 25px auto;
    width: 54.5%;
padding-bottom: 0px;
    float: left;
}
}


.gTLD_InfoBox {
/* Main page content box: right (smaller) */
background-color: #f6f6f6;
.icannwiki-half-width-right {
border: 2px solid #466f81;
    width: 44.5%;
padding: 10px;
    float: right;
margin-bottom: 15px;
width: 100%;
height: 150px;
}
}


.gTLD_InfoBox .Dimensions {
/* Sponsors template */
width: 200px;
.icannwiki-sponsors {
height: 125px;
    display: flex;
float: left;
    flex-wrap: wrap;
margin: 0px 20px 0 0;
    justify-content: center;
border-right: 1px solid #bdbdbd;
    gap: 2px 8px; /* 2px vertical gap, 8px horizontal gap */
    padding: 0;
    margin: 0 0 8px;
}
}
.gTLD_Info {
 
background-color: #f6f6f6;
.icannwiki-sponsors li {
border: 2px solid #466f81;  
    flex: 0 0 140px;
padding: 10px;
    display: flex;
margin: 2em 0 2em 0;
    justify-content: center;
width: 100%;
    align-items: center;
height: 150px;
    height: 140px;
    box-sizing: border-box;
}
}
.AOW {
 
background:#466f81;
.icannwiki-sponsors img {
font-family:sans-serif;
    max-width: 100%;
font-size:120%;
    max-height: 100%;
font-weight:bold;
    object-fit: contain;
border:2px solid #0d8323;
text-align:left;
color:#FFF;
padding-left:0.4em;
padding-top:0.2em;
padding-bottom:0.2em;
}
}
.WelcomeBox {
 
float:left;
/* ------------------------------------------------------------------------- */
height:8em;
 
width:50%;
/* BOX WITH SPECIAL EFFECTS */
background:#d8dfe8;
 
padding:0 -1em 0 0;
/* Content box with special effects: Main container */
margin:0 0 1em 0;
.icannwiki-colored-box-highlighted {
display:inline-block;
    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%); }
}
}
.WelcomeBox .Message {
 
background:#d8dfe8;
/* ------------------------------------------------------------------------- */
align:center;
 
/* 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;
}
}

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