MediaWiki:Minerva.css

From The Radical Buddhism Project
Revision as of 03:45, 21 July 2026 by Lajos (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* All CSS here will be loaded for users of the MinervaNeue skin */

/* =====================================================================
   RADICAL BUDDHIST PROJECT - DESKTOP LAYOUT
   ===================================================================== */

/* ONLY execute this custom structure on desktop viewports (1100px or wider) */
@media screen and (min-width: 1100px) {

    /* -----------------------------------------------------------------
       1. TOP NAVBAR CONFIGURATION (Forces Search Right & Title Left)
       ----------------------------------------------------------------- */
    
    /* Turn the top header row into a full-width flex container */
    .header-container {
        display: flex !important;
        justify-content: flex-start !important; /* Lines elements up from the left side */
        align-items: center !important;
        padding: 0 40px !important; /* Adds breathing space at the window edges */
    }

    /* Force the native search input wrapper box to stay completely on the right side */
    .header-container .search-box {
        margin-left: auto !important; /* Pushes the input to the far right margin */
        width: 300px !important; /* Restricts search width to preserve center space */
    }

    /* Position the site name text right next to the hamburger icon */
    .header-container .branding-box {
        margin-left: 15px !important; /* Creates a clean gap after the ☰ button */
    }

    .header-container .branding-box h1 {
        font-family: inherit !important; /* Matches Minerva's clean, modern sans-serif */
        font-size: 1.3em !important;
        font-weight: normal !important;
        color: #222222 !important;
    }

            /* -----------------------------------------------------------------
       2. MARGIN LOGO CONFIGURATION (Anchored Directly to Title)
       ----------------------------------------------------------------- */

    /* Reset the absolute content container so it doesn't shift body text */
    .mw-body {
        position: relative !important;
        padding-left: 0 !important; 
    }

    /* Target Minerva's actual page title heading element */
    #firstHeading {
        position: relative !important;
        /* Opens an exact 140px whitespace column immediately to the left of the title string */
        padding-left: 140px !important; 
        min-height: 110px; /* Guarantees the title area is tall enough for your logo footprint */
    }

    /* Inject your 110px project logo straight into that title header's padding space */
    #firstHeading::before {
        content: "";
        display: block;
        position: absolute;
        
        /* Vertical alignment parameters */
        top: 0px; /* Vertically aligns the top edge of the logo flush with the title row */
        
        /* Horizontal placement parameters */
        /* Sized at 110px width inside a 140px padding track creates exactly your 30px whitespace gap */
        left: 0px; 
        
        /* Dimensions (Your exact 110px proportional square layout) */
        width: 110px;
        height: 110px;
        
        /* Graphics loading settings */
        background-image: url('/rbplogo.png') !important; /* Unified root path */
        background-repeat: no-repeat;
        background-position: top left;
        background-size: contain;
    }

    /* Adjust the main page text container to follow nicely below the large logo bounds */
    .mw-body-content {
        margin-top: 25px !important;
        clear: both !important;
    }

	
	/* -----------------------------------------------------------------
       3. MAIN PAGE CONDITIONAL HYBRID RULES
       ----------------------------------------------------------------- */

    /* Hide the navbar text title *only* when viewing the home page */
    .page-Main_Page .header-container .branding-box h1 {
        display: none !important;
    }

    /* Suppress the large left-margin logo *only* when viewing the home page */
    .page-Main_Page .mw-body::before {
        display: none !important;
    }

    /* Reset the left margin padding on the home screen for layout balance */
    .page-Main_Page .mw-body {
        padding-left: 0 !important;
    }
}

/* =====================================================================
   RESPONSIVE SITE NAME SWAP (Full Name on Desktop ➔ RBP on Mobile)
   ===================================================================== */

/* Target viewports narrower than 768px (Standard tablets and smartphones) */
@media screen and (max-width: 767px) {
    
    /* 1. Shrink the width of the native text block to exactly zero and hide its visibility */
    .header-container .branding-box h1 span {
        visibility: hidden !important;
        position: relative !important;
        display: inline-block !important;
        width: 0 !important;
        height: 0 !important;
    }
    
    /* 2. Inject the clean "RBP" acronym right into the emptied space */
    .header-container .branding-box h1::after {
        content: "RBP" !important;
        visibility: visible !important; /* Forces this specific text block to show up */
        font-family: sans-serif !important;
        font-size: 1.2em !important;
        font-weight: bold !important;
        color: #222222 !important; /* Matches clean charcoal dark text tone */
        padding-left: 5px !important;
    }
}


/* =====================================================================
   MISCELLANIA
   ===================================================================== */

/* Completely hides the "grouping results by page is not available on mobile" alert box */
.mw-mobile-notification,
.mobile-frontend-warning,
.recentchanges-page-navigation .notification {
    display: none !important;
}