MediaWiki:Common.css: Difference between revisions

From Ekologos Wiki
No edit summary
No edit summary
Line 1: Line 1:
/* ==========================================================
/* ==========================================================
   EKOLOGOS WIKI DESIGN SYSTEM
   EKOLOGOS WIKI DESIGN SYSTEM v2.0
   Clean & Consolidated Stylesheet
   Foundation
========================================================== */
========================================================== */


/* ==========================================
/* ==========================================================
   1. GLOBAL STYLES
   1. ROOT VARIABLES
========================================== */
========================================================== */
 
:root{
 
    --eko-green:#23492F;
    --eko-accent:#295536;
    --eko-bg:#F8F6F1;
    --eko-white:#ffffff;
    --eko-text:#333333;
    --eko-light:#666666;


body {
    --radius:18px;
     background: #f8f6f1;
 
     color: #2f2f2f;
    --shadow-sm:0 6px 18px rgba(0,0,0,.08);
     font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --shadow-md:0 12px 30px rgba(0,0,0,.10);
    --shadow-lg:0 22px 50px rgba(0,0,0,.15);
 
    --container:1280px;
 
}
 
/* ==========================================================
  2. GLOBAL
========================================================== */
 
html{
    scroll-behavior:smooth;
}
 
body{
    margin:0;
    padding:0;
     background:var(--eko-bg);
     color:var(--eko-text);
     font-family:"Segoe UI",Roboto,Arial,sans-serif;
}
}


/* Full-width utility */
/* Full width */
 
body .container,
body .container,
body .container-fluid,
body .container-fluid,
Line 20: Line 50:
.col-12,
.col-12,
#mw-content-text,
#mw-content-text,
.mw-parser-output {
.page-Main_Page .mw-parser-output{
     max-width: 100% !important;
 
     width: 100% !important;
     width:100% !important;
     max-width:100% !important;
 
}
}


/* ==========================================
/* Other pages */
  2. TYPOGRAPHY
========================================== */


body:not(.page-Main_Page) .mw-parser-output{


/* ==========================================
    max-width:1100px;
  3. NAVBAR & LOGO
    margin:auto;
========================================== */
    padding:40px 30px;


.navbar-brand {
    padding: 5px !important;
    min-height: 70px;
    display: flex !important;
    align-items: center !important;
}
}


.section-header{
/* ==========================================================
    display:flex;
  3. MAIN PAGE CLEANUP
    justify-content:space-between;
========================================================== */
    align-items:center;
 
     margin-bottom:35px;
.page-Main_Page #firstHeading,
.page-Main_Page #contentSub,
.page-Main_Page #toc,
.page-Main_Page .page-tools,
.page-Main_Page .mw-indicators{
 
     display:none !important;
 
}
}


.section-title-left{
.page-Main_Page #content,
    display:flex;
.page-Main_Page .mw-body{
    align-items:center;
 
    gap:10px;
     margin:0;
    font-family:Georgia, serif;
     padding:0;
     font-size:34px;
 
     color:#23492f;
    font-weight:600;
}
}


.section-title-right{
/* ==========================================================
     color:#295536;
  4. NAVBAR
     font-size:18px;
========================================================== */
     font-weight:600;
 
.page-Main_Page .navbar{
 
     position:absolute;
     top:0;
    left:0;
    right:0;
 
    z-index:1000;
 
     background:transparent !important;
 
    border:none !important;
 
    box-shadow:none !important;
 
}
}


.section-title-right:hover{
.navbar-brand{
    text-decoration:underline;
    cursor:pointer;
}


@media(max-width:768px){
    padding:8px !important;


.section-header{
    flex-direction:column;
    gap:12px;
}
}


}
.navbar-brand img,
.navbar-brand img,
.navbar-brand .mw-wiki-logo,
.navbar-brand .mw-wiki-logo,
#p-logo img {
#p-logo img{
     height: 60px;
 
     width: auto;
     height:60px;
    max-height: 60px;
     width:auto;
    max-width: 250px;
 
}
}


/* ==========================================
.navbar-nav>li>a{
  4. CARDS
 
========================================== */
    color:white !important;
    font-weight:500;


.eko-card{
    width:100%;
    position:relative;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    transition:all .3s ease;
    text-decoration:none;
}
}


.eko-card:hover{
.navbar-nav>li>a:hover{
     transform:translateY(-6px);
 
    box-shadow:0 18px 40px rgba(0,0,0,.15);
     color:#d8ead8 !important;
 
}
}


.eko-card img,
/* ==========================================================
.eko-card .mw-file-element{
  5. HERO
========================================================== */
 
.eko-hero{
 
    position:relative;
 
     width:100%;
     width:100%;
     height:260px;
     height:720px;
     object-fit:cover;
 
     display:block;
    display:flex;
     transition:transform .4s ease;
     align-items:center;
    justify-content:center;
 
    text-align:center;
 
     overflow:hidden;
 
     background:
 
        linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),
 
        url("/wiki/images/2/26/Hero.jpg?20260703054727");
 
    background-size:cover;
    background-position:center;
 
}
}


.eko-card:hover img,
.eko-overlay{
.eko-card:hover .mw-file-element{
 
     transform:scale(1.08);
    position:absolute;
    inset:0;
 
     background:rgba(0,0,0,.15);
 
}
}


.eko-card-body{
.eko-content{
     padding:18px;
 
    position:relative;
 
    z-index:2;
 
     width:min(900px,90%);
 
}
}


.eko-card-title{
.eko-content h1{
    font-family:Georgia, serif;
 
    font-size:24px;
    color:#23492f;
     margin:0;
     margin:0;
     text-align:center;
 
     font-family:Georgia,serif;
 
    font-size:clamp(54px,6vw,78px);
 
    line-height:1.1;
 
    color:white;
 
}
}


.eko-card-text{
.eko-content p{
     display:none !important;
 
    margin:28px auto 0;
 
    max-width:760px;
 
    font-size:clamp(18px,2vw,24px);
 
    line-height:1.7;
 
     color:rgba(255,255,255,.92);
 
}
}


/* ==========================================
/* ==========================================================
   5. BUTTONS
   6. SECTION LAYOUT
========================================== */
========================================================== */
 
.homepage-section{
 
    max-width:var(--container);
 
    margin:auto;
 
    padding:90px 40px;


.eko-button {
    display: inline-block;
    background: #295536;
    color: white;
    padding: 14px 32px;
    border-radius: 40px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: background 0.2s ease, transform 0.2s ease;
    border: none;
    cursor: pointer;
}
}


.eko-button:hover {
.section-header{
     background: #1f4129;
 
     color: white;
     display:flex;
     text-decoration: none;
 
     transform: translateY(-2px);
     justify-content:space-between;
 
     align-items:center;
 
     margin-bottom:40px;
 
}
}


.eko-button-outline {
.section-title-left{
    background: transparent;
 
    color: white;
     display:flex;
     border: 2px solid white;
}


.eko-button-outline:hover {
    align-items:center;
    background: white;
    color: #23492f;
}


/* ==========================================
    gap:12px;
  6. HERO SECTION
========================================== */


.hero {
     font-family:Georgia,serif;
     min-height: 700px;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)),
        url("https://localhost/wiki/index.php/File:Hero.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 120px 20px 80px;
    position: relative;
}


.hero-overlay {
     font-size:40px;
     max-width: 900px;
    width: 100%;
}


.hero .home-title {
     color:var(--eko-green);
     color: white;
    margin-bottom: 20px;
}


.hero .home-subtitle {
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 40px;
}
}


/* Hero search bar */
.section-title-right{
.hero-search {
    margin-top: 40px;
}


.hero-search input {
     color:var(--eko-accent);
     width: 100%;
    max-width: 600px;
    padding: 18px 24px;
    border-radius: 50px;
    border: none;
    font-size: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    outline: none;
    transition: box-shadow 0.3s ease;
}


.hero-search input:focus {
     font-weight:600;
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}


/* ==========================================
    cursor:pointer;
  7. HOMEPAGE (MAIN PAGE) SPECIFICS
========================================== */


/* Full-width layout on Main Page */
.page-Main_Page .container,
.page-Main_Page .container-fluid,
.page-Main_Page .mw-body,
.page-Main_Page #content,
.page-Main_Page #mw-content-text {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
}


.page-Main_Page .mw-parser-output {
.section-title-right:hover{
    margin: 0 !important;
    padding: 0 !important;
}


/* Hide unwanted elements on Main Page */
    text-decoration:underline;
.page-Main_Page #firstHeading,
.page-Main_Page #contentSub,
.page-Main_Page .mw-indicators,
.page-Main_Page .page-tools,
.page-Main_Page #toc {
    display: none !important;
}


/* Transparent navbar overlay on Main Page */
.page-Main_Page nav.navbar,
.page-Main_Page .navbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
}


/* Content sections on homepage */
/* ==========================================================
.homepage-section{
  7. GRID
    max-width:1280px;
========================================================== */
    margin:0 auto;
    padding:80px 40px;
    background:#f8f6f1;
}


.homepage-grid{
.homepage-grid{
     display:grid;
     display:grid;
     grid-template-columns:repeat(3,minmax(0,1fr));
     grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
    margin-top:35px;
}


@media (max-width:1000px){
     gap:32px;
     .homepage-grid{
 
        grid-template-columns:repeat(2,1fr);
    }
}
}


@media (max-width:650px){
/* ==========================================================
    .homepage-grid{
  8. RESPONSIVE
        grid-template-columns:1fr;
========================================================== */
    }
}


/* Feature row */
@media(max-width:1000px){


.homepage-grid{


/* ==========================================
grid-template-columns:repeat(2,1fr);
  8. CONTENT PAGES (non-homepage)
========================================== */


.page-Main_Page .mw-parser-output{
    padding:0 !important;
}
}


body:not(.page-Main_Page) .mw-parser-output{
    padding:0 20px;
}
}


/* ==========================================
@media(max-width:768px){
  9. RESPONSIVE DESIGN
 
========================================== */
.eko-hero{
 
height:600px;


/* Tablets */
@media (max-width: 768px) {
    .hero {
        min-height: 80vh;
        padding: 100px 20px 60px;
    }
   
    .hero .home-title {
        font-size:clamp(54px,6vw,78px);
    }
   
    .hero-search input {
        max-width: 100%;
        padding: 16px 20px;
        font-size: 16px;
    }
   
    .homepage-section{
        padding: 50px 20px;
    }
   
    .homepage-grid{
        grid-template-columns: 1fr;
        gap: 20px;
    }
   
    .navbar-brand img,
    .navbar-brand .mw-wiki-logo {
        height: 50px;
        max-height: 50px;
    }
   
    .section-title {
        text-align: center;
    }
}
}


/* Mobile */
.eko-content h1{
@media (max-width: 480px) {
 
    .hero {
font-size:48px;
        min-height: 70vh;
 
        padding: 80px 15px 40px;
    }
   
    .eko-button {
        padding: 12px 24px;
        font-size: 14px;
        width: 100%;
        text-align: center;
    }
   
    .eko-card img {
        height: 160px;
    }
   
    .eko-card-body {
        padding: 18px;
    }
}
}


/* ==========================================
.section-header{
  10. ANIMATIONS
========================================== */


@keyframes fadeInUp {
flex-direction:column;
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.animate-in {
align-items:flex-start;
    animation: fadeInUp 0.6s ease forwards;
}


/* Stagger animation delays for cards */
gap:15px;
.eko-card:nth-child(1) { animation-delay: 0.1s; }
.eko-card:nth-child(2) { animation-delay: 0.2s; }
.eko-card:nth-child(3) { animation-delay: 0.3s; }
.eko-card:nth-child(4) { animation-delay: 0.4s; }


/* ==========================================
}
  11. UTILITY CLASSES
========================================== */


.text-center { text-align: center; }
.homepage-section{
.mt-20 { margin-top: 20px; }
.mt-40 { margin-top: 40px; }
.mb-20 { margin-bottom: 20px; }
.mb-40 { margin-bottom: 40px; }


/* ===========================
padding:70px 25px;
  EKOLOGOS HOMEPAGE
=========================== */


.eko-hero {
}
    position: relative;
    width: 100%;
    height: 700px;


    background-image:
.homepage-grid{
        linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.35)),
        url("/wiki/images/2/26/Hero.jpg?20260703054727");


    background-size: cover;
grid-template-columns:1fr;
    background-position: center;
    background-repeat: no-repeat;


    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
}
}


.eko-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.35);
}
}


.eko-content{
@media(max-width:480px){
    position:relative;
 
    z-index:2;
.eko-hero{
    max-width:900px;
 
    padding:20px;
height:500px;
 
}
}


.eko-content h1{
.eko-content h1{
    font-family: Georgia, "Times New Roman", serif;
    font-size:72px;
    font-weight:600;
    line-height:1.1;
    margin-bottom:25px;
    color:#ffffff;
}


.eko-content p{
font-size:38px;
    font-size:clamp(18px,2vw,24px);
max-width:760px;
margin:auto;
    line-height:1.6;
    margin-bottom:35px;
    color:rgba(255,255,255,.92);
}


.eko-search{
    width:700px;
    max-width:90%;
    padding:18px 28px;
    border-radius:50px;
    border:none;
    font-size:18px;
}
}


/* ==========================================
.eko-content p{
  HERO SEARCH BAR
========================================== */


.hero-search {
font-size:17px;
    margin-top: 45px;
    display: flex;
    justify-content: center;
}


.hero-search form {
    width: 100%;
    max-width: 700px;
}
}


.hero-search-box {
.homepage-section{
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 60px;
    padding: 8px 10px 8px 25px;
    box-shadow: 0 12px 35px rgba(0,0,0,.25);
}


.hero-search-box input {
padding:50px 18px;
    flex: 1;
    border: none;
    outline: none;
    font-size: 18px;
    padding: 14px 10px;
    background: transparent;
}


.hero-search-box button {
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    background: #295536;
    color: white;
    font-size: 20px;
    cursor: pointer;
    transition: .2s;
}
}


.hero-search-box button:hover {
    background: #1f4129;
}
}

Revision as of 09:11, 9 July 2026

/* ==========================================================
   EKOLOGOS WIKI DESIGN SYSTEM v2.0
   Foundation
========================================================== */

/* ==========================================================
   1. ROOT VARIABLES
========================================================== */

:root{

    --eko-green:#23492F;
    --eko-accent:#295536;
    --eko-bg:#F8F6F1;
    --eko-white:#ffffff;
    --eko-text:#333333;
    --eko-light:#666666;

    --radius:18px;

    --shadow-sm:0 6px 18px rgba(0,0,0,.08);
    --shadow-md:0 12px 30px rgba(0,0,0,.10);
    --shadow-lg:0 22px 50px rgba(0,0,0,.15);

    --container:1280px;

}

/* ==========================================================
   2. GLOBAL
========================================================== */

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    padding:0;
    background:var(--eko-bg);
    color:var(--eko-text);
    font-family:"Segoe UI",Roboto,Arial,sans-serif;
}

/* Full width */

body .container,
body .container-fluid,
.col-cmln,
.col-12,
#mw-content-text,
.page-Main_Page .mw-parser-output{

    width:100% !important;
    max-width:100% !important;

}

/* Other pages */

body:not(.page-Main_Page) .mw-parser-output{

    max-width:1100px;
    margin:auto;
    padding:40px 30px;

}

/* ==========================================================
   3. MAIN PAGE CLEANUP
========================================================== */

.page-Main_Page #firstHeading,
.page-Main_Page #contentSub,
.page-Main_Page #toc,
.page-Main_Page .page-tools,
.page-Main_Page .mw-indicators{

    display:none !important;

}

.page-Main_Page #content,
.page-Main_Page .mw-body{

    margin:0;
    padding:0;

}

/* ==========================================================
   4. NAVBAR
========================================================== */

.page-Main_Page .navbar{

    position:absolute;
    top:0;
    left:0;
    right:0;

    z-index:1000;

    background:transparent !important;

    border:none !important;

    box-shadow:none !important;

}

.navbar-brand{

    padding:8px !important;

}

.navbar-brand img,
.navbar-brand .mw-wiki-logo,
#p-logo img{

    height:60px;
    width:auto;

}

.navbar-nav>li>a{

    color:white !important;
    font-weight:500;

}

.navbar-nav>li>a:hover{

    color:#d8ead8 !important;

}

/* ==========================================================
   5. HERO
========================================================== */

.eko-hero{

    position:relative;

    width:100%;
    height:720px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    overflow:hidden;

    background:

        linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),

        url("/wiki/images/2/26/Hero.jpg?20260703054727");

    background-size:cover;
    background-position:center;

}

.eko-overlay{

    position:absolute;
    inset:0;

    background:rgba(0,0,0,.15);

}

.eko-content{

    position:relative;

    z-index:2;

    width:min(900px,90%);

}

.eko-content h1{

    margin:0;

    font-family:Georgia,serif;

    font-size:clamp(54px,6vw,78px);

    line-height:1.1;

    color:white;

}

.eko-content p{

    margin:28px auto 0;

    max-width:760px;

    font-size:clamp(18px,2vw,24px);

    line-height:1.7;

    color:rgba(255,255,255,.92);

}

/* ==========================================================
   6. SECTION LAYOUT
========================================================== */

.homepage-section{

    max-width:var(--container);

    margin:auto;

    padding:90px 40px;

}

.section-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:40px;

}

.section-title-left{

    display:flex;

    align-items:center;

    gap:12px;

    font-family:Georgia,serif;

    font-size:40px;

    color:var(--eko-green);

}

.section-title-right{

    color:var(--eko-accent);

    font-weight:600;

    cursor:pointer;

}

.section-title-right:hover{

    text-decoration:underline;

}

/* ==========================================================
   7. GRID
========================================================== */

.homepage-grid{

    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:32px;

}

/* ==========================================================
   8. RESPONSIVE
========================================================== */

@media(max-width:1000px){

.homepage-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.eko-hero{

height:600px;

}

.eko-content h1{

font-size:48px;

}

.section-header{

flex-direction:column;

align-items:flex-start;

gap:15px;

}

.homepage-section{

padding:70px 25px;

}

.homepage-grid{

grid-template-columns:1fr;

}

}

@media(max-width:480px){

.eko-hero{

height:500px;

}

.eko-content h1{

font-size:38px;

}

.eko-content p{

font-size:17px;

}

.homepage-section{

padding:50px 18px;

}

}