MediaWiki:Print.css
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)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* ===========================
Softwear — Print stylesheet
A5 portrait, minimal margins
=========================== */
/* 1) Font face (print-safe) */
@font-face {
font-family: 'HALColant-TextRegular';
src: url('/fonts/HALColant-TextRegular.woff2?v=20250820') format('woff2'),
url('/fonts/HALColant-TextRegular.woff?v=20250820') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
/* 2) Browser print color fidelity */
* { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
/* 3) Base print visibility & typography */
.print-only { display: block !important; } /* ensure print layout is visible */
html, body {
margin: 0;
padding: 0;
font-family: 'HALColant-TextRegular', Georgia, "Times New Roman", serif;
color: #111;
}
body { color: #292828 !important; }
/* 4) Page size and margins */
@page {
size: A5 portrait;
margin: 2.5mm; /* outer paper margin */
}
/* 5) Main wrapper padding */
.entry-wrapper.print-a5 {
width: 100%;
box-sizing: border-box;
padding: 2.5mm; /* inner content padding */
}
/* 6) Avoid splitting key sections across pages (gentle) */
#article-title,
.article-title-link,
.article-images,
.article-metadata,
.article-description,
.article-reflection,
.article-external-reference,
.article-quote {
page-break-inside: avoid;
break-inside: avoid;
}
/* 7) Titles & people */
.article-title {
font-size: 22px;
line-height: 24px;
letter-spacing: 0.8px;
text-align: center;
color: #292828 !important;
margin: 0;
}
.article-people {
font-size: 22px;
line-height: 28px;
letter-spacing: 0.8px;
text-align: center;
text-decoration: underline;
color: #292828 !important;
margin: 0;
padding-top: 15px;
}
.article-people a { text-decoration: underline; color: #292828 !important; }
/* 8) Hairline rule under entry number (crisp) */
.article-entry-number {
font-size: 16px;
line-height: 23px;
letter-spacing: 0;
margin: 0;
padding-bottom: 4px;
border-bottom: none;
background-image: linear-gradient(#000, #000);
background-repeat: no-repeat;
background-position: 0 100%;
background-size: 100% 0.5px; /* hairline */
}
/* 9) Link row ([PDF⤴] [WEB⤴]) centered with hairline */
.link-pdf {
text-align: center;
color: #292828 !important;
text-decoration: none;
margin: 4px 0 0 0;
padding: 0;
border-bottom: none;
background-image: linear-gradient(#000, #000);
background-repeat: no-repeat;
background-position: 0 100%;
background-size: 100% 0.5px;
}
.link-pdf a,
.link-pdf p {
display: inline-block;
text-decoration: none;
color: #292828 !important;
margin: 0 !important;
padding: 0 !important;
}
/* 10) Type line with hairline */
.article-type {
font-size: 16px;
line-height: 1;
letter-spacing: 0;
margin: 0;
padding: 7px 0;
color: #292828 !important;
border-bottom: none;
background-image: linear-gradient(#000, #000);
background-repeat: no-repeat;
background-position: 0 100%;
background-size: 100% 0.5px;
}
.article-type a { text-decoration: none; display: inline-block; color: #292828 !important; }
/* 11) Metadata grid (no margins/paddings) */
.article-metadata,
.article-metadata * {
margin: 0 !important;
border: none;
background: none;
}
.article-metadata {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2mm;
padding: 11px 0 7px 0;
line-height: 1 !important;
/* hairline is handled by wrappers; keep none here by default
(wrapper below draws the single line) */
border-bottom: none;
background-image: none;
}
.article-metadata-label {
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.3px;
}
.article-metadata-value {
font-size: 15px;
text-transform: capitalize;
}
.article-metadata-value a { color: #292828 !important; text-decoration: none; }
/* 12) Images & caption (no gaps) */
.article-images {
margin: 0 !important;
padding: 0 !important;
/* hairline off here; wrapper will draw it */
border-bottom: none;
background-image: none;
}
.article-images .image-container {
display: inline-flex;
flex-direction: column; /* stack image then caption */
align-items: flex-start; /* left-align image & caption */
margin: 0 !important;
padding: 0 !important;
}
.article-images .image-container img,
.image-container img {
display: block;
max-height: 85mm; /* cap instead of fixed height */
height: auto;
width: auto;
max-width: 100%;
margin: 0 !important;
padding: 0 !important;
object-fit: contain;
line-height: 0;
}
.caption-image1 {
margin: 0 !important;
padding: 0 0 11px 0 !important; /* small breathing room under caption */
line-height: 1 !important;
font-size: 9pt;
color: #555;
text-align: left;
width: 100%;
}
.caption-image1:empty { display: none; }
/* 13) Kill UA margins from Vector paragraphs */
.vector-body p { margin: 0 !important; padding: 0 !important; }
/* 14) Section wrappers: draw the ONLY hairline here */
.print-sec {
margin: 0;
padding: 0 0 7px 0; /* room for hairline */
border-bottom: none;
background-image: linear-gradient(#000, #000);
background-repeat: no-repeat;
background-position: 0 100%;
background-size: 100% 0.5px; /* hairline */
}
.print-sec + .print-sec { margin-top: 10px !important; } /* spacing between optional sections */
/* Avoid extra gap above the first .print-sec after metadata/images */
.article-metadata + .print-sec,
.article-images + .print-sec { margin-top: 4mm; }
/* 15) Labels & bodies inside wrappers */
.article-label-description,
.article-label-reflection,
.article-label-external-reference,
.article-label-quote,
.article-label-modification-date {
text-transform: uppercase;
margin: 11px 0 0 0 !important;
padding: 0 !important;
text-indent: 35px;
line-height: 1;
font-size: 14px;
letter-spacing: 0.5px;
/* prevent a break RIGHT AFTER the label (no orphan label) */
break-after: avoid; page-break-after: avoid;
}
.article-description,
.article-reflection,
.article-external-reference,
.article-quote,
.article-mod-line {
text-indent: 35px;
line-height: 1.3;
font-size: 20px;
letter-spacing: 0.8px;
margin-top: 0 !important;
padding: 0 !important;
/* let long content flow normally; avoid hard blocking */
page-break-inside: auto; break-inside: auto;
/* hairline OFF inside; wrapper draws it */
background-image: none !important;
border-bottom: none !important;
}
/* keep label + content together */
.print-sec > .article-label-description + .article-description,
.print-sec > .article-label-reflection + .article-reflection,
.print-sec > .article-label-external-reference + .article-external-reference,
.print-sec > .article-label-quote + .article-quote,
.print-sec > .article-label-modification-date + .article-mod-line {
break-before: avoid; page-break-before: avoid;
}
/* gentle widows/orphans control on the whole content */
#article-content { orphans: 2; widows: 2; }
/* 16) Quote and “mod line” styles */
.article-quote {
font-size: 26px;
line-height: 1;
letter-spacing: 1.2px;
font-style: italic;
}
.article-mod-line {
white-space: nowrap;
color: grey;
line-height: 1;
font-size: 14px;
letter-spacing: 0.5px;
text-indent: 35px;
}
.article-mod-line > span { display: inline; margin: 0; padding: 0; }
.article-mod-line > span + span { margin-left: 6px; }
.article-modification-date { font-size: 15px; letter-spacing: 0.5px; }
/* 17) Link handling for print */
a[href]:after { content: none !important; } /* no raw URL echo */
.article-external-reference a {
word-break: break-word;
overflow-wrap: anywhere;
text-decoration: none;
color: #292828 !important;
font-size: 17px;
line-height: 1;
letter-spacing: 0;
}
/* 18) SINGLE HAIRLINE via wrapper — ensure no duplicates
(safety overrides; keep at the end) */
.article-description,
.article-reflection,
.article-external-reference,
.article-quote,
.article-mod-line,
.article-images {
background-image: none !important;
border-bottom: none !important;
padding-bottom: 0 !important;
}