MediaWiki:Common.css: Unterschied zwischen den Versionen

Aus Hist. Verein Herne / Wanne-Eickel
Inhalt gelöscht Inhalt hinzugefügt
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
(38 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
/* Nur Artikeltext vergrößern */
/* Das folgende CSS wird für alle Benutzeroberflächen geladen. */
.mw-parser-output {
font-size: 1.2em;
line-height: 1.6;
}
#papier640-div {
#papier640-div {
background: url("https://wiki.huen-un-perduen.de/images/640x480papier.jpg") top center;
background: url("https://wiki.hv-her-wan.de/w/images/640x480papier.jpg") top center;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
background-size: cover;
background-size: cover;
}
}


#papier1000-div {
#papier1000-div {
background: url("https://wiki.huen-un-perduen.de/images/1000x750papier.jpg") top center;
background: url("https://wiki.hv-her-wan.de/w/images/1000x750papier.jpg") top center;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
background-size: cover;
background-size: cover;
}
}


#zeitung1000-div {
#zeitung1000-div {
background: url("https://wiki.huen-un-perduen.de/images/1000x750zeitung.jpg") top center;
background: url("https://wiki.hv-her-wan.de/w/images/1000x750zeitung.jpg") top center;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
background-size: cover;
background-size: cover;
}
}


#zeitung600-div {
#zeitung600-div {
background: url("https://wiki.huen-un-perduen.de/images/600x450zeitung.jpg") top center;
background: url("https://wiki.hv-her-wan.de/w/images/600x450zeitung.jpg") top center;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
background-size: cover;
background-size: cover;
}
}


#zeitung400-div {
#zeitung400-div {
background: url("https://wiki.huen-un-perduen.de/images/400x300zeitung.jpg") top center;
background: url("https://wiki.hv-her-wan.de/w/images/400x300zeitung.jpg") top center;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
background-size: cover;
background-size: cover;
}
}


#urkunde1000-div {
#urkunde1000-div {
background: url("https://wiki.huen-un-perduen.de/images/1000x600urkunde.jpg") top center;
background: url("https://wiki.hv-her-wan.de/w/images/1000x600urkunde.jpg") top center;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
background-size: cover;
background-size: cover;
}
}


#urkunde1001-div {
#urkunde1001-div {
background: url("https://wiki.huen-un-perduen.de/images/1000x600urkunde.jpg") top center;
background: url("https://wiki.hv-her-wan.de/w/images/1000x600urkunde.jpg") top center;
width: auto;
width: auto;
height: auto;
height: auto;
background-size: cover;
background-size: cover;
}
}


#urkunde1002-div {
#urkunde1002-div {
background: url("https://wiki.huen-un-perduen.de/images/1000x600urkunde.jpg");
background: url("https://wiki.hv-her-wan.de/w/images/1000x600urkunde.jpg");
width: auto;
width: auto;
height: auto;
height: auto;
background-size: contain;
background-size: contain;
}
}


#rahmen1000-div {
#rahmen1000-div {
background: url("https://wiki.huen-un-perduen.de/images/1000x200rahmen.jpg");
background: url("https://wiki.hv-her-wan.de/w/images/1000x200rahmen.jpg");
width: 100%;
width: 100%;
height: 100%;
height: 100%;
background-size: contain;
background-size: contain;
}
}


#papier1200-div {
#papier1200-div {
background: url("https://wiki.huen-un-perduen.de/images/papier1200.jpg");
background: url("https://wiki.hv-her-wan.de/w/images/papier1200.jpg");
width: 100%;
width: 100%;
height: 100%;
height: 100%;
background-size: contain;
background-size: contain;
}
}


#strasse-div {
#strasse-div {
background: url("https://wiki.huen-un-perduen.de/images/Strasse-Hintergrund.jpg");
background: url("https://wiki.hv-her-wan.de/w/images/Strasse-Hintergrund.jpg");
width:auto;
width: auto;
height: auto;
height: auto;
background-size: cover;
background-size: cover;
}
}


#hus-div {
#hus-div {
background: url("http://wiki.huen-un-perduen.de/images/hus_papier.jpg");
background: url("http://wiki.hv-her-wan.de/w/images/hus_papier.jpg");
width:auto;
width: auto;
height: auto;
height: auto;
background-size: cover;
background-size: cover;
}
}


#sr-div {
#sr-div {
background: url("https://wiki.huen-un-perduen.de/images/SR1000.jpg");
background: url("https://wiki.hv-her-wan.de/w/images/SR1000.jpg");
width:auto;
width: auto;
height: auto;
height: auto;
background-size: auto;
background-size: auto;
}
}


#rand-div {
#rand-div {
background: url("https://wiki.huen-un-perduen.de/images/Rand.png");
background: url("https://wiki.hv-her-wan.de/w/images/Rand.png");
width:auto;
width: auto;
height: auto;
height: auto;
background-size: cover;
background-size: cover;
background-color:#efd3ac;
background-color:#efd3ac;
}
}


#dgb1-div {
#dgb1-div {
background: url("https://wiki.huen-un-perduen.de/images/DGB_Geschichtswerkstatt_Herne-kl_Logo25trans.png");
background: url("https://wiki.hv-her-wan.de/w/images/DGB_Geschichtswerkstatt_Herne-kl_Logo25trans.png");
width:auto;
width: auto;
height: auto;
height: auto;
background-size: contain;
background-size: contain;
background-repeat: repeat;
background-repeat: repeat;
}
}


#monno-div {
#monno-div {
background: url("https://wiki.huen-un-perduen.de/images/monno-hg-papier.jpg");
background: url("https://wiki.hv-her-wan.de/w/images/monno-hg-papier.jpg");
width:auto;
width: auto;
height: auto;
height: auto;
background-size: auto;
background-size: auto;
}
}


#haus-div {
#haus-div {
background: url("https://wiki.huen-un-perduen.de/images/Hausnummrt.png");
background: url("https://wiki.hv-her-wan.de/w/images/Hausnummrt.png");
width:55px;
width: 55px;
height: 55px;
height: 25px;
background-size: cover;
background-size: cover;
}

#strassenschild-div {
background: url("https://wiki.hv-her-wan.de/w/images/Strassenschildvorlage.png");
width: auto;
height: auto;
background-size: cover;
}
}


#buch-div {
#buch-div {
background: url("https://wiki.huen-un-perduen.de/images/Buch.jpeg");
background: url("https://wiki.hv-her-wan.de/w/images/Buch.jpeg");
width:auto;
width: auto;
height: auto;
height: auto;
background-size: auto;
background-size: auto;
}
}


#gerd1-div {
#gerd1-div {
background: url("https://wiki.huen-un-perduen.de/images/blattgerda4.png");
background: url("https://wiki.hv-her-wan.de/w/images/blattgerda4.png");
width:auto;
width: auto;
height: auto;
height: auto;
background-size: cover;
background-size: cover;
}
}

#hsch-div {
background: url("https://wiki.hv-her-wan.de/w/images/Heinzschaeferhg.jpeg");
width: auto;
height: auto;
background-size: cover;
}
/* ============================================================
Vorlage:Hauptseite/Neue Artikel
Kachel-Layout für die letzten 20 neu erstellten Seiten
Bitte als Ergänzung in MediaWiki:Common.css einfügen
============================================================ */

.hv-neue-artikel-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 1em;
margin: 0.5em 0 1em 0;
}

.hv-neue-artikel-kachel {
display: flex;
flex-direction: column;
background: #ffffff;
border: 1px solid #c8ccd1;
border-radius: 4px;
padding: 0.6em;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
transition: box-shadow 0.15s ease, transform 0.15s ease;
overflow: hidden;
}

.hv-neue-artikel-kachel:hover {
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.10);
transform: translateY(-1px);
}

.hv-neue-artikel-bild {
display: block;
width: 100%;
margin-bottom: 0.5em;
overflow: hidden;
border-radius: 3px;
background: #f8f9fa;
aspect-ratio: 4 / 3;
text-decoration: none;
}

.hv-neue-artikel-bild img {
width: 100% !important;
height: 100% !important;
object-fit: cover;
display: block;
}

/* Platzhalter (Datei:Nochkeinbild.png): vollständig sichtbar
(nicht beschnitten), dezenter Hintergrund. */
.hv-neue-artikel-bild-platzhalter {
background: #f8f9fa;
box-sizing: border-box;
}

.hv-neue-artikel-bild-platzhalter img {
object-fit: contain !important;
opacity: 0.9;
}

.hv-neue-artikel-bild-leer {
width: 100%;
height: 100%;
background:
repeating-linear-gradient(
45deg,
#f0f1f3,
#f0f1f3 10px,
#e6e8ea 10px,
#e6e8ea 20px
);
}

.hv-neue-artikel-titel {
font-weight: bold;
font-size: 1.0em;
line-height: 1.3;
margin-bottom: 0.3em;
}

.hv-neue-artikel-titel a {
color: #0645ad;
text-decoration: none;
}

.hv-neue-artikel-titel a:hover {
text-decoration: underline;
}

.hv-neue-artikel-auszug {
flex: 1 1 auto;
color: #54595d;
font-size: 0.9em;
line-height: 1.4;
margin-bottom: 0.4em;
}

.hv-neue-artikel-datum {
color: #72777d;
font-size: 0.8em;
margin-top: auto;
}

.hv-neue-artikel-leer {
color: #54595d;
font-style: italic;
padding: 0.5em;
grid-column: 1 / -1;
}

/* Schmale Bildschirme: kleinere Kacheln */
@media (max-width: 720px) {
.hv-neue-artikel-grid {
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
gap: 0.6em;
}
.hv-neue-artikel-kachel {
padding: 0.4em;
}
.hv-neue-artikel-titel { font-size: 0.95em; }
.hv-neue-artikel-auszug { font-size: 0.85em; }
}


/* ============================================================
Vorlage:Zufallsbild – Bild-Karussell
============================================================ */

.hv-bild-karussell {
position: relative;
width: 100%;
aspect-ratio: 4 / 3;
overflow: hidden;
background: #ffffff;
border-radius: 3px;
}

/* Solange noch nichts geladen ist: Platzhaltertext zentriert anzeigen.
Sobald die Klasse hv-karussell-aktiv gesetzt ist (durch das JS),
übernimmt die Karussell-Logik. */
.hv-bild-karussell:not(.hv-karussell-aktiv) {
display: flex;
align-items: center;
justify-content: center;
color: #54595d;
font-style: italic;
aspect-ratio: auto;
min-height: 6em;
}

.hv-karussell-leer {
color: #54595d;
font-style: italic;
padding: 0.5em;
text-align: center;
}

.hv-karussell-bild {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.8s ease;
display: block;
pointer-events: none;
}

.hv-karussell-bild.hv-aktiv {
opacity: 1;
pointer-events: auto;
z-index: 1;
}

.hv-karussell-bild img {
width: 100% !important;
height: 100% !important;
object-fit: contain !important;
background: #ffffff;
display: block;
max-width: none;
}


/* ============================================================
Hauptseite — Konzept A (klassisch modernisiert)
Eigener Layout-Block für die Hauptseite. Alle Klassen sind mit
.hv-hs- bzw. .hv-hauptseite präfixiert, um keine Kollision mit
anderen Seiten oder Skin-Styles zu erzeugen.
============================================================ */

.hv-hauptseite {
display: grid;
gap: 1.6em;
margin: 0;
color: #202122;
/* Basisgröße der gesamten Hauptseite anheben: 16 px statt
der vom Timeless-Skin geerbten 14 px. Alle em-basierten
Größen darunter skalieren automatisch mit. */
font-size: 16px;
/* Niemals breiter werden als der verfügbare Bereich */
max-width: 100%;
overflow-x: hidden;
}

/* Grid-Items dürfen unter ihre Inhalts-Mindestbreite schrumpfen.
Verhindert, dass z. B. ein Suchformular oder breiter Schriftzug
die ganze Hauptseite auf dem Smartphone wegschiebt. */
.hv-hauptseite > *,
.hv-hauptseite .hv-hs-inhalt > *,
.hv-hauptseite .hv-hs-portale > * {
min-width: 0;
max-width: 100%;
box-sizing: border-box;
}

/* Bilder auf der Hauptseite skalieren immer mit dem Container */
.hv-hauptseite img {
max-width: 100%;
height: auto;
}

/* --- 1. Begrüßung & Suche --- */

.hv-hs-intro {
display: flex;
flex-direction: column;
align-items: center;
gap: 1em;
padding: 0.4em 0;
}

.hv-hs-intro-text {
max-width: 60em;
font-size: 1.15em;
line-height: 1.65;
text-align: center;
}

.hv-hs-intro-text p:last-child {
margin-bottom: 0;
}

.hv-hs-suche {
width: 100%;
display: flex;
justify-content: center;
}

/* Suchformular schmal genug halten, damit es auf dem Smartphone
ins Layout passt — Buttons dürfen umbrechen, Eingabefeld
skaliert mit. */
.hv-hs-suche form,
.hv-hs-suche .bodySearchWrap {
max-width: 100%;
display: flex;
flex-wrap: wrap;
gap: 6px;
justify-content: center;
}

.hv-hs-suche input[type="search"],
.hv-hs-suche input[type="text"] {
width: 100%;
max-width: 360px;
box-sizing: border-box;
}

/* --- 2. Karussell-Hero --- */

.hv-hs-hero .hv-bild-karussell {
aspect-ratio: 3 / 2;
max-height: 600px;
min-height: 320px;
}

/* --- 3. Themen-Portale --- */

.hv-hs-portale {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 0.7em;
}

.hv-hs-portal-kachel {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 0.7em 0.4em;
background: #f8f9fa;
border: 1px solid transparent;
border-radius: 6px;
transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
line-height: 1.3;
}

.hv-hs-portal-kachel:hover {
background: #eaecf0;
border-color: #c8ccd1;
transform: translateY(-1px);
}

.hv-hs-portal-kachel a {
color: #202122;
text-decoration: none;
}

.hv-hs-portal-kachel:hover a {
color: #0645ad;
}

.hv-hs-portal-kachel img {
margin-bottom: 0.5em;
}

@media (max-width: 1100px) {
.hv-hs-portale { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) {
.hv-hs-portale { grid-template-columns: repeat(2, 1fr); }
}

/* --- 4. Inhaltsbereich (zwei Spalten Karten) --- */

.hv-hs-inhalt {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1em;
align-items: start;
}

/* Jede Spalte stapelt ihre Karten unabhängig — so entsteht
kein Leerraum, wenn eine Karte kürzer ist als ihre Nachbarin.
gap: 1.5em sorgt für sichtbar mehr Luft zwischen den Karten
als zwischen den Spalten (gap: 1em im .hv-hs-inhalt). */
.hv-hs-spalte {
display: flex;
flex-direction: column;
gap: 1.5em;
min-width: 0;
}

@media (max-width: 800px) {
.hv-hs-inhalt { grid-template-columns: 1fr; }
}

.hv-hs-karte {
background: #ffffff;
border: 1px solid #e1e4e8;
border-radius: 6px;
overflow: hidden;
display: flex;
flex-direction: column;
}

/* h2 als Karten-Header — überschreibt Standard-h2-Stile innerhalb von Karten */
.hv-hs-karte > h2 {
font-size: 1.05em;
font-weight: 600;
color: #24292f;
background: #f6f8fa;
border: 0;
border-bottom: 1px solid #e1e4e8;
margin: 0;
padding: 0.7em 1em;
}

.hv-hs-karte-inhalt {
padding: 0.9em 1em;
line-height: 1.55;
}

.hv-hs-karte-inhalt > *:last-child {
margin-bottom: 0;
}

.hv-hs-karte-inhalt h4 {
font-size: 0.95em;
margin-top: 1em;
margin-bottom: 0.3em;
color: #57606a;
}

.hv-hs-mehr {
text-align: right;
font-size: 0.9em;
margin-top: 0.6em;
}

/* --- 5. Mitglieds-CTA --- */

.hv-hs-cta {
text-align: center;
margin: 0;
}

.hv-hs-cta-bild,
.hv-hs-cta a > img {
max-width: 100%;
height: auto;
border-radius: 6px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.hv-hs-cta a:hover > img,
.hv-hs-cta a:hover .hv-hs-cta-bild {
transform: translateY(-1px);
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}

/* --- 6. Statistik --- */

.hv-hs-stats-rahmen {
text-align: center;
}

.hv-hs-stats-titel {
font-size: 0.95em;
color: #57606a;
margin-bottom: 0.5em;
}

.hv-hs-stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.8em;
}

.hv-hs-stat {
background: #f6f8fa;
border-radius: 6px;
padding: 0.9em 0.5em;
text-align: center;
}

.hv-hs-stat-zahl {
font-size: 1.8em;
font-weight: 600;
color: #24292f;
line-height: 1.15;
}

.hv-hs-stat-label {
font-size: 0.9em;
color: #57606a;
margin-top: 0.15em;
}

.hv-hs-stat-label a {
color: inherit;
text-decoration: none;
}

.hv-hs-stat-label a:hover {
color: #0645ad;
text-decoration: underline;
}

@media (max-width: 600px) {
.hv-hs-stats { grid-template-columns: 1fr; }
}

/* --- 7. Footer (125-Jahre-Logo & Respekt-Banner) --- */

.hv-hs-footer {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1.2em;
align-items: center;
justify-items: center;
margin-top: 0.4em;
padding-top: 1em;
border-top: 1px solid #e1e4e8;
}

.hv-hs-footer-element {
width: 100%;
text-align: center;
}

.hv-hs-footer-bild,
.hv-hs-footer-element img {
max-width: 100%;
height: auto;
max-height: 110px;
object-fit: contain;
opacity: 0.95;
}

@media (max-width: 600px) {
.hv-hs-footer { grid-template-columns: 1fr; }
}
/* Bote-Themenwolke und Top-Autoren als Chips */
.bote-tagcloud span {
display: inline-block;
padding: 2px 10px;
margin: 4px 5px;
background: #fff;
border: 1px solid #c8b88a;
border-radius: 14px;
line-height: 1.5;
}
/* Zum-Seitenanfang-Button für lange Portal-Seiten */
.bote-zum-anfang {
position: fixed;
bottom: 30px;
right: 700px; /* Breite der rechten Werkzeugleiste + 10–20px Abstand */
z-index: 1000;
}

.bote-zum-anfang a {
display: inline-block;
width: 44px;
height: 44px;
line-height: 44px;
text-align: center;
background: #c8451e;
color: #fff !important;
border-radius: 50%;
text-decoration: none !important;
box-shadow: 0 2px 6px rgba(0,0,0,0.25);
font-size: 1.4em;
font-weight: bold;
}

.bote-zum-anfang a:hover {
background: #a83a18;
}
@media (max-width: 850px) {
.bote-zum-anfang {
right: 20px; /* Standard-Abstand auf schmalen Geräten */
}
}
/* === Vereinsbibliothek === */

/* Cover-Spalte */
.vb-tabelle img {
max-width: 80px;
max-height: 110px;
height: auto;
width: auto;
}
.vb-tabelle .vb-cover-cell {
width: 90px;
text-align: center;
vertical-align: middle;
}
.vb-tabelle .vb-untertitel {
color: #555;
font-style: italic;
font-size: 0.9em;
}

/* Such-Widget über jeder Tabelle */
.vb-suchwidget {
margin: 0.6em 0 0.3em 0;
padding: 6px 10px;
background: #f6f6f6;
border: 1px solid #ddd;
border-radius: 6px;
display: flex;
align-items: center;
gap: 10px;
}
.vb-suchwidget input.vb-suche {
flex: 1;
padding: 4px 8px;
border: 1px solid #bbb;
border-radius: 4px;
font-size: 0.95em;
}

/* Zeilen ausblenden, die vom Filter ausgeschlossen werden */
.vb-tabelle tr.vb-hidden {
display: none;
}
.vb-no-hits {
color: #777;
font-style: italic;
margin: 4px 0 0 4px;
}

/* Tab-Navigation */
.vb-tabs-nav {
display: flex;
flex-wrap: wrap;
gap: 4px;
margin: 0.4em 0 0.8em 0;
border-bottom: 2px solid #b91c1c;
}
.vb-tab-btn {
background: #f3f3f3;
border: 1px solid #ccc;
border-bottom: none;
border-radius: 6px 6px 0 0;
padding: 6px 14px;
font-size: 0.95em;
cursor: pointer;
color: #333;
}
.vb-tab-btn:hover { background: #fff; }
.vb-tab-btn.active {
background: #b91c1c;
color: #fff;
border-color: #b91c1c;
font-weight: bold;
}
.vb-tab-count {
opacity: 0.75;
font-size: 0.9em;
margin-left: 4px;
}

/* Aktive Panel-Steuerung */
.vb-panel-hidden { display: none !important; }

/* Im Tab-Modus die per-Liste-Überschrift verbergen
(Tab-Button zeigt den Titel ohnehin); ohne JS bleiben sie sichtbar. */
.vb-tabs.vb-tabs-ready > h1,
.vb-tabs.vb-tabs-ready > h2,
.vb-tabs.vb-tabs-ready > h3,
.vb-tabs.vb-tabs-ready > h4,
.vb-tabs.vb-tabs-ready > h5,
.vb-tabs.vb-tabs-ready > h6 { display: none; }
.vb-tabs.vb-tabs-ready .mw-editsection { display: none; }

Version vom 25. Mai 2026, 13:53 Uhr

/* Nur Artikeltext vergrößern */
.mw-parser-output {
    font-size: 1.2em;
    line-height: 1.6;
}
#papier640-div {
    background: url("https://wiki.hv-her-wan.de/w/images/640x480papier.jpg") top center;
    width: 100%;
    height: 100%;
    background-size: cover;
}

#papier1000-div {
    background: url("https://wiki.hv-her-wan.de/w/images/1000x750papier.jpg") top center;
    width: 100%;
    height: 100%;
    background-size: cover;
}

#zeitung1000-div {
    background: url("https://wiki.hv-her-wan.de/w/images/1000x750zeitung.jpg") top center;
    width: 100%;
    height: 100%;
    background-size: cover;
}

#zeitung600-div {
    background: url("https://wiki.hv-her-wan.de/w/images/600x450zeitung.jpg") top center;
    width: 100%;
    height: 100%;
    background-size: cover;
}

#zeitung400-div {
    background: url("https://wiki.hv-her-wan.de/w/images/400x300zeitung.jpg") top center;
    width: 100%;
    height: 100%;
    background-size: cover;
}

#urkunde1000-div {
    background: url("https://wiki.hv-her-wan.de/w/images/1000x600urkunde.jpg") top center;
    width: 100%;
    height: 100%;
    background-size: cover;
}

#urkunde1001-div {
    background: url("https://wiki.hv-her-wan.de/w/images/1000x600urkunde.jpg") top center;
    width: auto;
    height: auto;
    background-size: cover;
}

#urkunde1002-div {
    background: url("https://wiki.hv-her-wan.de/w/images/1000x600urkunde.jpg");
    width: auto;
    height: auto;
    background-size: contain;
}

#rahmen1000-div {
    background: url("https://wiki.hv-her-wan.de/w/images/1000x200rahmen.jpg");
    width: 100%;
    height: 100%;
    background-size: contain;
}

#papier1200-div {
    background: url("https://wiki.hv-her-wan.de/w/images/papier1200.jpg");
    width: 100%;
    height: 100%;
    background-size: contain;
}

#strasse-div {
    background: url("https://wiki.hv-her-wan.de/w/images/Strasse-Hintergrund.jpg");
    width: auto;
    height: auto;
    background-size: cover;
}

#hus-div {
    background: url("http://wiki.hv-her-wan.de/w/images/hus_papier.jpg");
    width: auto;
    height: auto;
    background-size: cover;
}

#sr-div {
    background: url("https://wiki.hv-her-wan.de/w/images/SR1000.jpg");
    width: auto;
    height: auto;
    background-size: auto;
}

#rand-div {
    background: url("https://wiki.hv-her-wan.de/w/images/Rand.png");
    width: auto;
    height: auto;
    background-size: cover;
    background-color:#efd3ac;
}

#dgb1-div {
    background: url("https://wiki.hv-her-wan.de/w/images/DGB_Geschichtswerkstatt_Herne-kl_Logo25trans.png");
    width: auto;
    height: auto;
    background-size: contain;
    background-repeat: repeat;
}

#monno-div {
    background: url("https://wiki.hv-her-wan.de/w/images/monno-hg-papier.jpg");
    width: auto;
    height: auto;
    background-size: auto;
}

#haus-div {
    background: url("https://wiki.hv-her-wan.de/w/images/Hausnummrt.png");
    width: 55px;
    height: 25px;
    background-size: cover;
}

#strassenschild-div {
    background: url("https://wiki.hv-her-wan.de/w/images/Strassenschildvorlage.png");
    width: auto;
    height: auto;
    background-size: cover;
}

#buch-div {
    background: url("https://wiki.hv-her-wan.de/w/images/Buch.jpeg");
    width: auto;
    height: auto;
    background-size: auto;
}

#gerd1-div {
    background: url("https://wiki.hv-her-wan.de/w/images/blattgerda4.png");
    width: auto;
    height: auto;
    background-size: cover;
}

#hsch-div {
    background: url("https://wiki.hv-her-wan.de/w/images/Heinzschaeferhg.jpeg");
    width: auto;
    height: auto;
    background-size: cover;
}
/* ============================================================
   Vorlage:Hauptseite/Neue Artikel
   Kachel-Layout für die letzten 20 neu erstellten Seiten
   Bitte als Ergänzung in MediaWiki:Common.css einfügen
   ============================================================ */

.hv-neue-artikel-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1em;
    margin: 0.5em 0 1em 0;
}

.hv-neue-artikel-kachel {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #c8ccd1;
    border-radius: 4px;
    padding: 0.6em;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
    overflow: hidden;
}

.hv-neue-artikel-kachel:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.10);
    transform: translateY(-1px);
}

.hv-neue-artikel-bild {
    display: block;
    width: 100%;
    margin-bottom: 0.5em;
    overflow: hidden;
    border-radius: 3px;
    background: #f8f9fa;
    aspect-ratio: 4 / 3;
    text-decoration: none;
}

.hv-neue-artikel-bild img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

/* Platzhalter (Datei:Nochkeinbild.png): vollständig sichtbar
   (nicht beschnitten), dezenter Hintergrund. */
.hv-neue-artikel-bild-platzhalter {
    background: #f8f9fa;
    box-sizing: border-box;
}

.hv-neue-artikel-bild-platzhalter img {
    object-fit: contain !important;
    opacity: 0.9;
}

.hv-neue-artikel-bild-leer {
    width: 100%;
    height: 100%;
    background:
        repeating-linear-gradient(
            45deg,
            #f0f1f3,
            #f0f1f3 10px,
            #e6e8ea 10px,
            #e6e8ea 20px
        );
}

.hv-neue-artikel-titel {
    font-weight: bold;
    font-size: 1.0em;
    line-height: 1.3;
    margin-bottom: 0.3em;
}

.hv-neue-artikel-titel a {
    color: #0645ad;
    text-decoration: none;
}

.hv-neue-artikel-titel a:hover {
    text-decoration: underline;
}

.hv-neue-artikel-auszug {
    flex: 1 1 auto;
    color: #54595d;
    font-size: 0.9em;
    line-height: 1.4;
    margin-bottom: 0.4em;
}

.hv-neue-artikel-datum {
    color: #72777d;
    font-size: 0.8em;
    margin-top: auto;
}

.hv-neue-artikel-leer {
    color: #54595d;
    font-style: italic;
    padding: 0.5em;
    grid-column: 1 / -1;
}

/* Schmale Bildschirme: kleinere Kacheln */
@media (max-width: 720px) {
    .hv-neue-artikel-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 0.6em;
    }
    .hv-neue-artikel-kachel {
        padding: 0.4em;
    }
    .hv-neue-artikel-titel { font-size: 0.95em; }
    .hv-neue-artikel-auszug { font-size: 0.85em; }
}


/* ============================================================
   Vorlage:Zufallsbild – Bild-Karussell
   ============================================================ */

.hv-bild-karussell {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ffffff;
    border-radius: 3px;
}

/* Solange noch nichts geladen ist: Platzhaltertext zentriert anzeigen.
   Sobald die Klasse hv-karussell-aktiv gesetzt ist (durch das JS),
   übernimmt die Karussell-Logik. */
.hv-bild-karussell:not(.hv-karussell-aktiv) {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #54595d;
    font-style: italic;
    aspect-ratio: auto;
    min-height: 6em;
}

.hv-karussell-leer {
    color: #54595d;
    font-style: italic;
    padding: 0.5em;
    text-align: center;
}

.hv-karussell-bild {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.8s ease;
    display: block;
    pointer-events: none;
}

.hv-karussell-bild.hv-aktiv {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}

.hv-karussell-bild img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #ffffff;
    display: block;
    max-width: none;
}


/* ============================================================
   Hauptseite — Konzept A (klassisch modernisiert)
   Eigener Layout-Block für die Hauptseite. Alle Klassen sind mit
   .hv-hs- bzw. .hv-hauptseite präfixiert, um keine Kollision mit
   anderen Seiten oder Skin-Styles zu erzeugen.
   ============================================================ */

.hv-hauptseite {
    display: grid;
    gap: 1.6em;
    margin: 0;
    color: #202122;
    /* Basisgröße der gesamten Hauptseite anheben: 16 px statt
       der vom Timeless-Skin geerbten 14 px. Alle em-basierten
       Größen darunter skalieren automatisch mit. */
    font-size: 16px;
    /* Niemals breiter werden als der verfügbare Bereich */
    max-width: 100%;
    overflow-x: hidden;
}

/* Grid-Items dürfen unter ihre Inhalts-Mindestbreite schrumpfen.
   Verhindert, dass z. B. ein Suchformular oder breiter Schriftzug
   die ganze Hauptseite auf dem Smartphone wegschiebt. */
.hv-hauptseite > *,
.hv-hauptseite .hv-hs-inhalt > *,
.hv-hauptseite .hv-hs-portale > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* Bilder auf der Hauptseite skalieren immer mit dem Container */
.hv-hauptseite img {
    max-width: 100%;
    height: auto;
}

/* --- 1. Begrüßung & Suche --- */

.hv-hs-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    padding: 0.4em 0;
}

.hv-hs-intro-text {
    max-width: 60em;
    font-size: 1.15em;
    line-height: 1.65;
    text-align: center;
}

.hv-hs-intro-text p:last-child {
    margin-bottom: 0;
}

.hv-hs-suche {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* Suchformular schmal genug halten, damit es auf dem Smartphone
   ins Layout passt — Buttons dürfen umbrechen, Eingabefeld
   skaliert mit. */
.hv-hs-suche form,
.hv-hs-suche .bodySearchWrap {
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}

.hv-hs-suche input[type="search"],
.hv-hs-suche input[type="text"] {
    width: 100%;
    max-width: 360px;
    box-sizing: border-box;
}

/* --- 2. Karussell-Hero --- */

.hv-hs-hero .hv-bild-karussell {
    aspect-ratio: 3 / 2;
    max-height: 600px;
    min-height: 320px;
}

/* --- 3. Themen-Portale --- */

.hv-hs-portale {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.7em;
}

.hv-hs-portal-kachel {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0.7em 0.4em;
    background: #f8f9fa;
    border: 1px solid transparent;
    border-radius: 6px;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
    line-height: 1.3;
}

.hv-hs-portal-kachel:hover {
    background: #eaecf0;
    border-color: #c8ccd1;
    transform: translateY(-1px);
}

.hv-hs-portal-kachel a {
    color: #202122;
    text-decoration: none;
}

.hv-hs-portal-kachel:hover a {
    color: #0645ad;
}

.hv-hs-portal-kachel img {
    margin-bottom: 0.5em;
}

@media (max-width: 1100px) {
    .hv-hs-portale { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) {
    .hv-hs-portale { grid-template-columns: repeat(2, 1fr); }
}

/* --- 4. Inhaltsbereich (zwei Spalten Karten) --- */

.hv-hs-inhalt {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
    align-items: start;
}

/* Jede Spalte stapelt ihre Karten unabhängig — so entsteht
   kein Leerraum, wenn eine Karte kürzer ist als ihre Nachbarin.
   gap: 1.5em sorgt für sichtbar mehr Luft zwischen den Karten
   als zwischen den Spalten (gap: 1em im .hv-hs-inhalt). */
.hv-hs-spalte {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    min-width: 0;
}

@media (max-width: 800px) {
    .hv-hs-inhalt { grid-template-columns: 1fr; }
}

.hv-hs-karte {
    background: #ffffff;
    border: 1px solid #e1e4e8;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* h2 als Karten-Header — überschreibt Standard-h2-Stile innerhalb von Karten */
.hv-hs-karte > h2 {
    font-size: 1.05em;
    font-weight: 600;
    color: #24292f;
    background: #f6f8fa;
    border: 0;
    border-bottom: 1px solid #e1e4e8;
    margin: 0;
    padding: 0.7em 1em;
}

.hv-hs-karte-inhalt {
    padding: 0.9em 1em;
    line-height: 1.55;
}

.hv-hs-karte-inhalt > *:last-child {
    margin-bottom: 0;
}

.hv-hs-karte-inhalt h4 {
    font-size: 0.95em;
    margin-top: 1em;
    margin-bottom: 0.3em;
    color: #57606a;
}

.hv-hs-mehr {
    text-align: right;
    font-size: 0.9em;
    margin-top: 0.6em;
}

/* --- 5. Mitglieds-CTA --- */

.hv-hs-cta {
    text-align: center;
    margin: 0;
}

.hv-hs-cta-bild,
.hv-hs-cta a > img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.hv-hs-cta a:hover > img,
.hv-hs-cta a:hover .hv-hs-cta-bild {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}

/* --- 6. Statistik --- */

.hv-hs-stats-rahmen {
    text-align: center;
}

.hv-hs-stats-titel {
    font-size: 0.95em;
    color: #57606a;
    margin-bottom: 0.5em;
}

.hv-hs-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.8em;
}

.hv-hs-stat {
    background: #f6f8fa;
    border-radius: 6px;
    padding: 0.9em 0.5em;
    text-align: center;
}

.hv-hs-stat-zahl {
    font-size: 1.8em;
    font-weight: 600;
    color: #24292f;
    line-height: 1.15;
}

.hv-hs-stat-label {
    font-size: 0.9em;
    color: #57606a;
    margin-top: 0.15em;
}

.hv-hs-stat-label a {
    color: inherit;
    text-decoration: none;
}

.hv-hs-stat-label a:hover {
    color: #0645ad;
    text-decoration: underline;
}

@media (max-width: 600px) {
    .hv-hs-stats { grid-template-columns: 1fr; }
}

/* --- 7. Footer (125-Jahre-Logo & Respekt-Banner) --- */

.hv-hs-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2em;
    align-items: center;
    justify-items: center;
    margin-top: 0.4em;
    padding-top: 1em;
    border-top: 1px solid #e1e4e8;
}

.hv-hs-footer-element {
    width: 100%;
    text-align: center;
}

.hv-hs-footer-bild,
.hv-hs-footer-element img {
    max-width: 100%;
    height: auto;
    max-height: 110px;
    object-fit: contain;
    opacity: 0.95;
}

@media (max-width: 600px) {
    .hv-hs-footer { grid-template-columns: 1fr; }
}
/* Bote-Themenwolke und Top-Autoren als Chips */
.bote-tagcloud span {
	display: inline-block;
	padding: 2px 10px;
	margin: 4px 5px;
	background: #fff;
	border: 1px solid #c8b88a;
	border-radius: 14px;
	line-height: 1.5;
}
/* Zum-Seitenanfang-Button für lange Portal-Seiten */
.bote-zum-anfang {
	position: fixed;
	bottom: 30px;
	right: 700px;	/* Breite der rechten Werkzeugleiste + 10–20px Abstand */
	z-index: 1000;
}

.bote-zum-anfang a {
	display: inline-block;
	width: 44px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	background: #c8451e;
	color: #fff !important;
	border-radius: 50%;
	text-decoration: none !important;
	box-shadow: 0 2px 6px rgba(0,0,0,0.25);
	font-size: 1.4em;
	font-weight: bold;
}

.bote-zum-anfang a:hover {
	background: #a83a18;
}
@media (max-width: 850px) {
	.bote-zum-anfang {
		right: 20px;	/* Standard-Abstand auf schmalen Geräten */
	}
}
/* === Vereinsbibliothek === */

/* Cover-Spalte */
.vb-tabelle img {
    max-width: 80px;
    max-height: 110px;
    height: auto;
    width: auto;
}
.vb-tabelle .vb-cover-cell {
    width: 90px;
    text-align: center;
    vertical-align: middle;
}
.vb-tabelle .vb-untertitel {
    color: #555;
    font-style: italic;
    font-size: 0.9em;
}

/* Such-Widget über jeder Tabelle */
.vb-suchwidget {
    margin: 0.6em 0 0.3em 0;
    padding: 6px 10px;
    background: #f6f6f6;
    border: 1px solid #ddd;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.vb-suchwidget input.vb-suche {
    flex: 1;
    padding: 4px 8px;
    border: 1px solid #bbb;
    border-radius: 4px;
    font-size: 0.95em;
}

/* Zeilen ausblenden, die vom Filter ausgeschlossen werden */
.vb-tabelle tr.vb-hidden {
    display: none;
}
.vb-no-hits {
    color: #777;
    font-style: italic;
    margin: 4px 0 0 4px;
}

/* Tab-Navigation */
.vb-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0.4em 0 0.8em 0;
    border-bottom: 2px solid #b91c1c;
}
.vb-tab-btn {
    background: #f3f3f3;
    border: 1px solid #ccc;
    border-bottom: none;
    border-radius: 6px 6px 0 0;
    padding: 6px 14px;
    font-size: 0.95em;
    cursor: pointer;
    color: #333;
}
.vb-tab-btn:hover  { background: #fff; }
.vb-tab-btn.active {
    background: #b91c1c;
    color: #fff;
    border-color: #b91c1c;
    font-weight: bold;
}
.vb-tab-count {
    opacity: 0.75;
    font-size: 0.9em;
    margin-left: 4px;
}

/* Aktive Panel-Steuerung */
.vb-panel-hidden { display: none !important; }

/* Im Tab-Modus die per-Liste-Überschrift verbergen
   (Tab-Button zeigt den Titel ohnehin); ohne JS bleiben sie sichtbar. */
.vb-tabs.vb-tabs-ready > h1,
.vb-tabs.vb-tabs-ready > h2,
.vb-tabs.vb-tabs-ready > h3,
.vb-tabs.vb-tabs-ready > h4,
.vb-tabs.vb-tabs-ready > h5,
.vb-tabs.vb-tabs-ready > h6 { display: none; }
.vb-tabs.vb-tabs-ready .mw-editsection { display: none; }