Jump to content

MediaWiki:Common.css

From dsignwiki
Revision as of 15:02, 20 November 2025 by Ivans (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.
/* CSS placed here will be applied to all skins */
@font-face {
    font-family: "Liberation Sans";
    src: url("/resources/fonts/LiberationSans-Regular.ttf");
}

@font-face {
    font-family: "Linux Libertine";
    src: url("/resources/fonts/LinLibertine_R.ttf");
}
#footer-info-lastmod {
  display: none !important;
}

/* Vector 2022: align user links (language, username, etc.) to the top */
body.skin-vector-2022 .vector-user-links-main {
    display: flex;          /* make sure it's flexbox */
    align-items: flex-start; /* align children to the top of the div */
}
/* Hide the Translate extension banner ("Translate this page; This page has changes…") */
body.skin-vector-2022 .mw-pt-translate-header {
    display: none !important;
}
/* Vector 2022 – hide entire tab/navigation bar (left-navigation) for all users */
.skin-vector-2022 #left-navigation {
    display: none !important;
}
/* Vector 2022: right-align items in the page toolbar (Edit / View history / Tools) */
.skin-vector-2022 .vector-page-toolbar-container {
    display: flex !important;
    justify-content: flex-end !important;  /* pushes items to the right */
    align-items: center;                   /* vertical alignment */
}



.mw-anon.skin-vector-2022 #ca-nstab-main,   /* page title tab (Main Page / Article) */
.mw-anon.skin-vector-2022 #ca-talk,         /* Talk tab */
.mw-anon.skin-vector-2022 #ca-view,         /* "Read" tab */
.mw-anon.skin-vector-2022 #ca-history,      /* View history */
.mw-anon.skin-vector-2022 #ca-watch,
.mw-anon.skin-vector-2022 #ca-unwatch,
.mw-anon.skin-vector-2022 #ca-more {        /* "Tools" dropdown */
    display: none !important;
}





/* === GLOBAL TYPOGRAPHY === */

/* Base body text — Liberation Sans */
html,
body,
.mw-body,
.mw-parser-output {
   font-family: "Liberation Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1.2rem;           /* base = 16px */
    line-height: 1.15;          
}

/* Paragraphs and list text */
p, li, td, th {
    font-size: 1.1rem;         /* slightly larger than base text */
}

/* === HEADINGS — Linux Libertine === */
h1, h2, h3, h4, h5, h6,
.firstHeading,
.mw-headline {
    font-family: "Linux Libertine", Georgia, serif;
}
.mw-body h1, .mw-heading1, .mw-body-content h1, .mw-body-content .mw-heading1 { font-size: 3rem; line-height: 1.15; }   



/* === SIDEBAR MENU === */
#mw-panel,
.vector-menu-content,
#p-navigation,
#p-tb,
#p-lang {
    font-family: "Liberation Sans", Arial, Helvetica, sans-serif;
    font-size: 1.2rem;         /* sidebar smaller for contrast */
    line-height: 1.4;
}

#mw-panel,
.vector-menu-content {
background: linear-gradient(0deg,rgba(255, 255, 255, 1) 90%, rgba(192, 192, 192, 1) 100%);
}






#partner-logos {
  display: flex;
  justify-content: right;
  align-items: right;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top:0.8rem;

}

#partner-logos img {
  height: 32px;
  object-fit: contain;     /* keeps aspect ratio, fits within the box */
  max-width: 100%;         /* prevents overflow */
  display: block;          /* removes inline gaps below images */
}






/* === Modern Wiki Table Styling === */
/* === Modern Wiki Table Styling === */
/* === Modern Wiki Table Styling === */
.wikitable.custom-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: none;
  background-color: #fff;
  border-radius: 0.5rem;
  overflow: hidden; /* so rounded corners clip correctly */
  font-size: 0.95rem;
}



/* Header cells */
.wikitable.custom-table th {
  background: linear-gradient(0deg,rgba(255, 255, 255, 1) 80%, rgba(0, 0, 255, 1) 100%);
  color: #000;
  font-weight: 600;
  text-align: left;
  padding: 0.75rem 1rem;
  border-bottom: 2px solid #d0d9ff;
}

/* Data cells */
.wikitable.custom-table td {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid #eee;
}

/* Zebra striping */
.wikitable.custom-table tr:nth-child(even) td {
  background-color: #f9fbff;
}

/* Hover effect */
.wikitable.custom-table tr:hover td {
  background: #FFF;
  background: linear-gradient(0deg,rgba(0, 0, 255, 1) 0%, rgba(255, 255, 255, 1) 15%, rgba(255, 255, 255, 1) 85%, rgba(0, 0, 255, 1) 100%);
}

/* Rounded corners for first & last rows */
.wikitable.custom-table tr:first-child th:first-child {
  border-top-left-radius: 0.5rem;
}
.wikitable.custom-table tr:first-child th:last-child {
  border-top-right-radius: 0.5rem;
}
.wikitable.custom-table tr:last-child td:first-child {
  border-bottom-left-radius: 0.5rem;
}
.wikitable.custom-table tr:last-child td:last-child {
  border-bottom-right-radius: 0.5rem;
}


/* === Mobile Responsive Tables (no HTML change needed) === */
@media (max-width: 768px) {

  /* Allow horizontal scrolling on narrow screens */
  .wikitable.custom-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Prevent collapsing/squeezing of long cell content */
  .wikitable.custom-table tr,
  .wikitable.custom-table td,
  .wikitable.custom-table th {
    white-space: nowrap;
  }

  /* Optional: slightly reduce padding for small screens */
  .wikitable.custom-table td,
  .wikitable.custom-table th {
    padding: 0.5rem 0.75rem;
  }
}





/* Hide the automatic Tools and Special pages sections */
#p-tb { 
    display: none !important;
}





/* MAIN-PAGE */

/* === FONTS (yours) === */
@font-face {
  font-family: "Liberation Sans";
  src: url("/resources/fonts/LiberationSans-Regular.ttf");
}
@font-face {
  font-family: "Linux Libertine";
  src: url("/resources/fonts/LinLibertine_R.ttf");
}
.mw-pt-languages {
  background: linear-gradient(0deg,rgba(192, 192, 192, 1) 2%, rgba(255, 255, 255, 1) 22%);}
/* === GLOBAL TYPOGRAPHY === */
html, body, .mw-body, .mw-parser-output {
  font-family: "Liberation Sans", Arial, Helvetica, sans-serif;
  font-size: 1.2rem;
  line-height: 1.1;
}
p, li, td, th { font-size: 1.1rem; line-height: 1.1; }
h1, h2, h3, h4, h5, h6, .firstHeading, .mw-headline {
  font-family: "Linux Libertine", Georgia, serif;
}

/* === d*sign week layout === */
:root {
  --dw-border: #cfd8e3;
  --dw-card-bg: #f8fbff;
}

/* top ribbon */
.dw-ribbon {
  height: 26px;
  background: linear-gradient(#8aa9ff, #ffffff);
  border-radius: 6px;
  margin: 0 0 14px 0;
}


.banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0rem 1rem 0rem 1rem;
  text-align: left;          /* centers text within its box */
  flex-wrap: wrap;    
  background: linear-gradient(0deg,rgba(255, 255, 255, 1) 80%, rgba(0, 0, 255, 1) 100%);
  background-size: 100% 200%;
  background-position: top;
  transition: background-position 0.4s ease-in-out;
}
.banner:hover {
  background-position: bottom;
}


.banner-icon img { 
width: 20vw; /* 15% of the viewport width */ 
height: auto; 
max-width: 650px; /* prevent it from getting too big */ 
min-width: 120px; /* prevent it from getting too small */ 
padding-left: 2rem;}

.dw-subtitle  {
font-size: 1.5rem;
  line-height: 1;
  text-align: left !important;
}

.dw-subtitle-banner {
font-size: 3rem;
}
.dw-subtitle strong {

  text-align: left !important;
}

.dw-subtitle a {
  color: #0000FF !important;           /* link color similar to your example */
  text-decoration: none;
}

.dw-subtitle a:hover {
  text-decoration: underline;
}


/* title & subtitle */
.dw-title {
  text-align: center;
  line-height: 1.2;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: .02em;
  display: block;
}


/* grid */
.dw-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-start;
  margin-top: 14px;
}
.dw-col {
  flex: 1 1 520px;
  min-width: 320px;
}

/* cards */
.dw-card {
  position: relative;
  border: 1px solid #C0C0C0;
  background: #FFFFFF !important;
  padding: 10px;
  margin-bottom: 10px;
}
.dw-card:hover {
background: linear-gradient(0deg,rgba(255, 255, 255, 1) 75%, rgba(192, 192, 192, 1) 100%)!important;
}
span.dw-headline.mw-headline {
  font-family: "Liberation Sans", Arial, Helvetica, sans-serif !important;

}

.dw-headline.mw-headline {
  font-family: "Liberation Sans", Arial, Helvetica, sans-serif !important;
  font-size: 2rem !important; 
}


.dw-card .dw-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  padding: 14px; /* ✅ move the spacing here instead of .dw-card */
}

.dw-card .dw-row > div:last-child {
  flex: 1;
  min-width: 0; /* ✅ prevents overflow due to long text/links */
}

.dw-card .dw-icon img { height: auto; }
.dw-card .dw-headline {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0px 0 0px;
}
.dw-card .dw-body { line-height: 1.6;   width: 100%;}
.dw-card .dw-body--spacious { line-height: 1.8; }


.dw-icon,
.dw-subtitle {
  background: transparent !important; /* ✅ makes logo + text boxes transparent */
}


/* Code blocks explicitly monospace (so they don't inherit) */
pre, code, kbd, samp, tt, .mw-code {
  font-family: "Liberation Sans", Arial, Helvetica, sans-serif !important;
  text-indent: 0 !important;
}

/* ===== Remove first-line indentation site-wide ===== */
.mw-parser-output p,
.mw-parser-output li p,
.mw-body-content p,
.dw-card .dw-body p {
  text-indent: 0 !important;
}


pre {
  margin: 0 !important;
  padding: 0rem !important; /* add a little inner spacing so text isn’t on the edge */
  background: linear-gradient(0deg,rgba(192, 192, 192, 1) 2%, rgba(255, 255, 255, 1) 22%);
  border: none !important;
  font-family: "Liberation Sans", Arial, Helvetica, sans-serif !important;
  white-space: pre-wrap !important; /* allows wrapping */
  word-break: break-word !important;
  line-height: 1 !important;
  
}

.dw-card .pre {
  display: block;        /* ensures it behaves as a block element */
  width: 100% !important;/* takes up the full width of .dw-card */
  box-sizing: border-box;/* includes padding/border in width calculation */
  margin: 0;
  padding: 0;
}


div.mw-content-ltr.mw-parser-output {
background: #FFFFFF;
background: linear-gradient(0deg,rgba(255, 255, 255, 1) 97%, rgba(192, 192, 192, 1) 100%);
padding: 1rem;
}



.mw-page-container { 
background-image: url("https://dsignweek.servus.at/images/9/9d/Bg-01.png"); background-repeat: repeat-y; 
/* ✅ repeat vertically */ background-size: 100% auto; 
/* stretch to page width, keep height natural 
*/ background-position: center top; 
/* start at the top, center horizontally 
*/ background-attachment: scroll; 
/* move with page scroll */ background-color: #ffffff; /* fallback behind transparent areas */ }


div#mw-head {
  background: transparent !important;
}


.dw-headline, .mw-headline {
margin: 0 !important;
}

.skin-vector-2022 header.vector-header { box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.8)!important; }

.skin-vector-2022 #vector-sticky-header.vector-sticky-header {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.8) !important;
}





/* ===== Mobile: stack card content vertically ===== */
@media (max-width: 720px) {

.header-container.header-chrome {
background: linear-gradient(0deg,rgba(255, 255, 255, 1) 75%, rgba(192, 192, 192, 1) 95%);
}
.minerva-footer {
background: linear-gradient(0deg,rgba(255, 255, 255, 1) 75%, rgba(192, 192, 192, 1) 95%);
}

#content.mw-body {
  background: linear-gradient(to top, #0000FF, #ffffff) !important; /* blue → white gradient */
 }

.dw-card {
padding:0;}
div#content.mw-body {
padding: 0rem;}
div.mw-content-ltr.mw-parser-output {
padding: 0.5rem;
}

.banner-icon img { 
width: 80vw; /* 15% of the viewport width */ 
height: auto; 
max-width: 650px; /* prevent it from getting too big */ 
min-width: 120px; /* prevent it from getting too small */ 
padding-left: 0rem;}

  /* Stack everything in a column */
  .dw-card .dw-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;  /* full width for text block */
    gap: 10px;
  }

  /* Make the icon its own row and center it */
  .dw-card .dw-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;            /* remove any left/right spacing from desktop */
  }

  .dw-card .dw-icon img {
    width: 72px;          /* tidy mobile size */
    height: auto;
  }

  /* Ensure the text block fills width */
  .dw-card .dw-row > div {
    width: 100%;
  }

  /* Slight spacing tweaks for headings on mobile */
  .dw-card .dw-headline {
    margin: 4px 0 4px;
  }

.partner-logos {
  display: flex;
  flex-wrap: wrap;               /* allows wrapping on small screens */
  justify-content: space-between !important;   
  align-items: center!important;     
  gap: 1.4rem;       
  padding: 0 1rem 1rem 1rem;             /* breathing room top & bottom */
  background: transparent;
}

.partner-logos img {
  height: 24px;
  width: auto;
 object-fit:contain;
}

}