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.
/* Wikipedia-like article infobox (Vector does not ship these styles). */
table.infobox,
table.infobox.vcard,
table.soldier-infobox,
.infobox.soldier-infobox {
float: right;
clear: right;
margin: 0.5em 0 0.8em 1.4em;
padding: 0.2em;
width: 22em;
max-width: 40%;
background: #f8f9fa;
color: #202122;
border: 1px solid #a2a9b1;
border-spacing: 3px;
border-collapse: separate;
font-size: 88%;
line-height: 1.5em;
text-align: left;
}
.infobox .infobox-above,
.soldier-infobox .infobox-above {
background: #eaecf0;
color: #000;
font-size: 125%;
font-weight: bold;
text-align: center;
padding: 0.4em 0.5em;
}
.infobox .infobox-header,
.soldier-infobox .infobox-header {
background: #eaecf0;
color: #000;
font-weight: bold;
text-align: center;
padding: 0.3em 0.5em;
}
.infobox .infobox-image,
.soldier-infobox .infobox-image {
text-align: center;
padding: 0.4em 0.2em 0.2em;
background: #f8f9fa;
}
.infobox .infobox-caption,
.soldier-infobox .infobox-caption {
font-size: 95%;
padding: 0.2em 0.4em 0.5em;
}
.infobox .infobox-label,
.infobox th.infobox-label,
.soldier-infobox .infobox-label,
.soldier-infobox th.infobox-label {
display: table-cell;
width: 38%;
font-weight: bold;
text-align: left;
vertical-align: top;
padding: 0.2em 0.5em 0.2em 0.5em;
background: #f8f9fa;
color: #202122;
}
.infobox td.infobox-data,
.soldier-infobox td.infobox-data {
display: table-cell;
vertical-align: top;
padding: 0.2em 0.5em 0.2em 0.4em;
background: #f8f9fa;
}
.infobox > tbody > tr,
.soldier-infobox > tbody > tr {
display: table-row;
}
/*
* Slightly wider left sidebar (default Vector is 10em) so labels like
* "Congressional Gold Medal" fit on one line.
*/
#mw-panel {
width: 15em !important;
}
.mw-body,
#mw-head-base,
#left-navigation,
#mw-data-after-content,
.mw-footer {
margin-left: 15em !important;
}
#p-personal ul {
padding-left: 15em !important;
}
@media screen and (min-width: 982px) {
.mw-body,
#mw-head-base,
#left-navigation,
#mw-data-after-content,
.mw-footer {
margin-left: 16em !important;
}
#p-personal ul {
padding-left: 16em !important;
}
}
/* Vector 2010 sidebar logo: source file is 1024px; keep badge size, center in wider slot. */
#p-logo {
height: 160px !important;
width: 15em !important;
margin: 0 auto 0.6em auto;
}
#p-logo a,
#p-logo a.mw-wiki-logo,
.mw-wiki-logo {
height: 160px !important;
width: 160px !important;
margin-left: auto !important;
margin-right: auto !important;
background-size: contain !important;
background-position: center center !important;
background-repeat: no-repeat !important;
}
/* If someone uses Vector 2022, do not leave the badge at 50px. */
.skin-vector-2022 .mw-logo-icon {
height: 120px !important;
width: 120px !important;
}
.hatnote,
.hatnote.unconfirmed-banner,
.unconfirmed-banner {
background: transparent;
border: none;
padding: 0 0 0.5em 1.6em;
margin: 0 0 0.6em 0;
font-style: italic;
color: #202122;
}
.hatnote.research-notes-disclaimer {
color: #54595d;
padding-left: 0;
margin: 0 0 0.5em 0;
max-width: none;
}
.hatnote.source-confidence-cue,
.source-confidence-cue {
color: #54595d;
padding-left: 0;
margin: 0;
max-width: none;
}
.soldier-page-footer-notes {
clear: both;
margin: 1.5em 0 0.75em 0;
padding: 0.75em 0 0 0;
border-top: 1px solid #c8ccd1;
font-size: 92%;
line-height: 1.45;
}
.soldier-page-footer-notes .hatnote {
margin-bottom: 0.45em;
}
.soldier-page-footer-notes .hatnote:last-child {
margin-bottom: 0;
}
/* Hide until Common.js moves these into .soldier-page-footer-notes (keeps the lead clear). */
.mw-parser-output > .research-notes-disclaimer,
.mw-parser-output > .source-confidence-cue,
.mw-parser-output > .hatnote.research-notes-disclaimer,
.mw-parser-output > .hatnote.source-confidence-cue {
display: none;
}
/*
* Blank lines after the Soldier template / between hatnotes become <p><br></p> and sit
* beside the floated infobox as a tall empty column. Collapse them so the lead
* starts at the top next to the infobox.
*/
.mw-parser-output:has(> table.soldier-infobox) > p:has(> br:only-child),
.mw-parser-output:has(> table.infobox.soldier-infobox) > p:has(> br:only-child),
.mw-parser-output:has(> table.soldier-infobox) > p:empty,
.mw-parser-output:has(> table.infobox.soldier-infobox) > p:empty {
display: none;
margin: 0;
padding: 0;
height: 0;
line-height: 0;
overflow: hidden;
}
.mw-parser-output:has(> table.soldier-infobox) > .soldier-lead,
.mw-parser-output:has(> table.infobox.soldier-infobox) > .soldier-lead {
margin-top: 0;
}
.soldier-research-notes {
display: none;
}
/* Wikipedia-style award ribbon rack in the main article column */
.soldier-awards-section {
clear: both;
margin: 1em 0 1.25em 0;
max-width: 100%;
}
.soldier-awards-heading {
font-family: inherit;
font-size: 1.5em;
font-weight: bold;
border-bottom: 1px solid #a2a9b1;
margin: 1em 0 0.5em 0;
padding-bottom: 0.15em;
line-height: 1.3;
}
.soldier-awards-list {
margin: 0.75em 0 0.25em 0;
max-width: none;
}
.soldier-awards-list ul,
.soldier-awards-section ul {
margin: 0.4em 0 0.4em 1.6em;
}
/* Keep extra award notes on one line (e.g. Chafee statue sentence) */
.soldier-awards-list li {
white-space: nowrap;
}
/* Ribbon rack: tiny gaps like Wikipedia (border-spacing 2px + 1px cell pad) */
.soldier-awards-section .soldier-ribbon-rack,
table.soldier-ribbon-rack {
margin: 0 auto;
border-collapse: separate;
border-spacing: 2px;
background: transparent;
border: none;
width: max-content;
max-width: 100%;
line-height: 0;
}
.soldier-awards-section > table.soldier-ribbon-rack:first-of-type {
margin-top: 0.75em;
}
/* Separate tables per row — mirror Wikipedia's ~4px row gap */
.soldier-awards-section > table.soldier-ribbon-rack + table.soldier-ribbon-rack {
margin-top: 2px;
}
table.soldier-ribbon-rack,
table.soldier-ribbon-rack > tbody > tr > td,
table.soldier-ribbon-rack > tr > td {
border: none !important;
background: transparent !important;
padding: 1px !important;
text-align: center;
vertical-align: middle;
line-height: 0;
}
table.soldier-ribbon-rack img,
table.soldier-ribbon-rack .mw-file-element {
display: block;
max-width: 106px;
height: auto;
vertical-align: top;
}
/* Match en.wikipedia awards wikitable: auto column widths from content
(long names get more space), centered, no artificial skinny max-width */
table.soldier-awards-grid {
margin: 1em auto;
border-collapse: collapse;
table-layout: auto;
width: auto;
max-width: 100%;
font-size: 95%;
line-height: 1.4;
text-align: center;
}
table.soldier-awards-grid > tbody > tr > td,
table.soldier-awards-grid td {
border: 1px solid #a2a9b1;
padding: 0.4em 0.65em;
text-align: center;
vertical-align: middle;
background: #f8f9fa;
overflow-wrap: break-word;
word-break: normal;
hyphens: manual;
}
.class-data-disclaimer {
border: 1px solid #a2a9b1;
background: #f8f9fa;
padding: 0.7em 0.9em;
margin: 0.8em 0 1em 0;
font-size: 92%;
line-height: 1.45;
max-width: none;
color: #202122;
}
.home-lead {
max-width: none;
font-size: 1.05em;
margin-bottom: 1em;
}
.page-lead {
max-width: none;
font-size: 1.05em;
margin: 0 0 1em 0;
line-height: 1.5;
}
.home-find {
margin: 0 0 1.25em 0;
padding: 0.85em 1em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
max-width: 36em;
}
.home-find-title {
font-weight: bold;
font-size: 1.1em;
margin: 0 0 0.45em 0;
}
.home-find-label {
display: block;
font-size: 95%;
margin-bottom: 0.25em;
}
.home-find-row {
display: flex;
flex-wrap: wrap;
gap: 0.4em;
align-items: center;
}
.home-find-suggest-wrap {
position: relative;
}
.home-find-suggest {
position: absolute;
left: 0;
right: 0;
top: 100%;
z-index: 50;
margin: 0.15em 0 0;
padding: 0.2em 0;
list-style: none;
background: #fff;
border: 1px solid #a2a9b1;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
max-height: 16em;
overflow-y: auto;
}
.home-find-suggest[hidden] {
display: none !important;
}
.home-find-suggest li {
margin: 0;
padding: 0.4em 0.65em;
cursor: pointer;
font-size: 95%;
line-height: 1.35;
}
.home-find-suggest li:hover,
.home-find-suggest li.home-find-suggest-active {
background: #eaf3ff;
}
.home-find-input {
flex: 1 1 14em;
min-width: 12em;
padding: 0.35em 0.5em;
font: inherit;
border: 1px solid #a2a9b1;
box-sizing: border-box;
}
.home-find-button {
padding: 0.35em 0.85em;
font: inherit;
cursor: pointer;
background: #3366cc;
color: #fff;
border: 1px solid #3366cc;
}
.home-find-button:hover {
background: #2a4b8d;
}
.home-find-hint {
margin: 0.55em 0 0;
font-size: 95%;
color: #54595d;
}
.home-find-more {
margin: 0.75em 0 0;
padding-top: 0.65em;
border-top: 1px solid #c8ccd1;
font-size: 95%;
line-height: 1.6;
color: #54595d;
}
/*
* Directory lists from the categorytree parser function (Contents and any
* future page that embeds one): match MediaWiki category pages
* (.mw-category-columns) with a compact 3-column layout so long indexes
* are not a single tall stack.
*/
.CategoryTreeTag {
column-count: 3;
column-gap: 1.25em;
margin: 0.4em 0 1em 0;
}
.CategoryTreeTag > .CategoryTreeSection {
break-inside: avoid;
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
margin: 0.12em 0;
}
@media (max-width: 800px) {
.CategoryTreeTag {
column-count: 2;
}
}
@media (max-width: 480px) {
.CategoryTreeTag {
column-count: 1;
}
}
.home-hero-photo {
margin: 0 0 1.35em 0;
max-width: 100%;
clear: both;
}
.home-hero-photo img,
.home-hero-photo .mw-file-element {
display: block;
width: 100%;
max-width: 56em;
height: auto;
}
.home-feature-thumbs {
display: flex;
flex-wrap: wrap;
gap: 1em 1.25em;
margin: 0.75em 0 0.35em;
align-items: flex-start;
}
.home-feature-thumb {
flex: 0 0 150px;
width: 150px;
text-align: center;
}
.home-feature-thumb a {
display: block;
}
.home-feature-thumb img,
.home-feature-thumb .mw-file-element {
display: block;
width: 150px;
height: 220px;
margin: 0 auto 0.4em;
object-fit: cover;
object-position: center center;
}
.home-feature-caption {
font-size: 95%;
line-height: 1.35;
}
.home-book {
display: flex;
flex-wrap: wrap;
gap: 1em 1.25em;
align-items: flex-start;
margin: 0.75em 0 1.25em;
}
.home-book-cover {
flex: 0 0 auto;
}
.home-book-cover img,
.home-book-cover .mw-file-element {
display: block;
max-width: 140px;
height: auto;
}
.home-book-text {
flex: 1 1 16em;
min-width: 12em;
line-height: 1.55;
}
.needs-source,
.needs-source a {
font-style: normal;
white-space: nowrap;
}
.mw-parser-output > p:first-of-type {
margin-top: 0.2em;
}
@media (max-width: 640px) {
table.infobox,
table.soldier-infobox {
float: none;
clear: both;
width: 100%;
max-width: 100%;
margin: 0 0 1em 0;
}
}
/* Collapsible JS inserts [Expand]/[Collapse] flush against header text.
Core .mw-collapsible-toggle-default { margin: 0; padding: 0 } wins over a
single-class rule, so target both classes. */
.mw-collapsible-toggle.mw-collapsible-toggle-default {
margin-left: 0.4em;
padding-left: 0.25em;
}
/* Timeline disclosures open from the left, like the Technical record control. */
.soldier-timeline {
display: flow-root;
margin-bottom: 1em;
}
.soldier-timeline + h2 {
clear: both;
}
.soldier-timeline-body {
clear: both;
padding-top: 0.25em;
}
.soldier-timeline .mw-collapsible-toggle.mw-collapsible-toggle-default {
float: left;
margin-left: 0;
margin-right: 0.5em;
padding-left: 0;
}
/* Compact disclosure in the text column beside the floated infobox.
clear:both here (and on .soldier-gallery) caused the huge Gallery gaps. */
.soldier-upload-box {
display: block;
margin: 0.35em 0 0.85em;
padding: 0;
background: transparent;
border: none;
overflow: auto;
width: auto;
max-width: 100%;
box-sizing: border-box;
clear: none;
}
.soldier-upload-box > summary {
display: list-item;
cursor: pointer;
padding: 0.35em 0.6em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
border-radius: 2px;
font-weight: 600;
line-height: 1.4;
width: fit-content;
max-width: 100%;
box-sizing: border-box;
}
.soldier-upload-box > summary:hover {
background: #eaecf0;
}
.soldier-upload-box[open] > summary {
margin-bottom: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.soldier-upload-body {
padding: 0.65em 0.75em 0.75em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
border-top: none;
box-sizing: border-box;
max-width: 100%;
}
.soldier-contrib-section {
margin: 0;
padding: 0;
max-width: 100%;
box-sizing: border-box;
}
.soldier-contrib-ocr {
margin-top: 0.75em;
padding-top: 0.75em;
border-top: 1px solid #c8ccd1;
}
.soldier-contrib-heading {
margin: 0 0 0.35em;
line-height: 1.4;
}
.soldier-contrib-help {
margin: 0 0 0.5em;
font-size: 95%;
color: #54595d;
line-height: 1.5;
}
.soldier-ocr-slot:empty {
display: none;
}
.soldier-upload-form label {
display: block;
margin: 0.35em 0;
}
.soldier-upload-file {
display: block;
margin: 0.5em 0;
max-width: 100%;
}
.soldier-upload-form button,
.soldier-contrib-ocr > button {
margin-top: 0.5em;
margin-right: 0.5em;
}
.soldier-upload-status {
margin: 0.5em 0 0;
font-size: 95%;
}
.soldier-upload-login {
margin: 0.35em 0 0;
}
/* Site-wide OCR inbox (Contribute documents) */
.ocr-review-box {
margin: 0.75em 0 1em;
padding: 0.75em 1em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
width: auto;
max-width: 48em;
box-sizing: border-box;
clear: both;
}
.ocr-review-box h3 {
margin: 0 0 0.4em;
font-size: 1.05em;
}
.ocr-review-host,
.ocr-review-panel {
width: 100%;
max-width: 100%;
box-sizing: border-box;
}
.ocr-review-layout {
display: flex;
flex-wrap: wrap;
gap: 1em;
margin-top: 0.6em;
width: 100%;
max-width: 100%;
box-sizing: border-box;
}
.ocr-review-preview {
flex: 1 1 180px;
max-width: min(280px, 100%);
box-sizing: border-box;
}
.ocr-review-preview img {
max-width: 100%;
height: auto;
border: 1px solid #ccc;
background: #fff;
}
.ocr-review-facts {
flex: 2 1 220px;
min-width: 0;
box-sizing: border-box;
}
.ocr-review-facts textarea {
width: 100%;
min-height: 8em;
box-sizing: border-box;
font-family: ui-monospace, monospace;
font-size: 90%;
}
.ocr-fact-row {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: 0.4em;
margin: 0.35em 0;
padding: 0.35em 0;
border-bottom: 1px solid #e4e8df;
}
.ocr-fact-row input[type="text"] {
flex: 1 1 12em;
min-width: 0;
max-width: 100%;
box-sizing: border-box;
}
.ocr-fact-meta {
font-size: 85%;
color: #54595d;
}
.ocr-review-actions {
margin-top: 0.75em;
display: flex;
flex-wrap: wrap;
gap: 0.5em;
align-items: center;
}
.ocr-review-status {
margin: 0.5em 0 0;
font-size: 95%;
}
.ocr-progress-wrap {
height: 8px;
background: #eaecf0;
border: 1px solid #a2a9b1;
border-radius: 2px;
overflow: hidden;
margin: 0.4em 0 0.6em;
max-width: 28em;
}
.ocr-progress-bar {
height: 100%;
width: 0;
background: #3366cc;
transition: width 0.3s ease;
}
.ocr-page-picker {
display: flex;
flex-direction: column;
gap: 0.5em;
}
.ocr-page-item {
display: block;
font-size: 90%;
background: #fff;
border: 1px solid #ccc;
padding: 0.35em;
}
.ocr-page-item img {
display: block;
max-width: 100%;
height: auto;
margin-bottom: 0.25em;
}
.ocr-fact-group {
margin: 0.6em 0 0.9em;
}
.ocr-fact-group h4 {
margin: 0 0 0.35em;
font-size: 1em;
}
.ocr-fact-already {
opacity: 0.78;
background: #f3f4f5;
}
.ocr-identity-banner {
margin: 0.5em 0;
padding: 0.5em 0.65em;
border: 1px solid #a2a9b1;
background: #f8f9fa;
font-size: 95%;
}
.ocr-identity-warn {
border-color: #fc3;
background: #fff8e0;
}
.ocr-identity-ok {
border-color: #14866d;
background: #eaf5f0;
}
.ocr-doc-type,
.ocr-gallery-caption {
display: block;
margin: 0.35em 0;
}
.ocr-gallery-caption {
width: 100%;
box-sizing: border-box;
}
.ocr-force-identity {
display: block;
margin-top: 0.4em;
color: #6b4c00;
}
.ocr-queue-list {
list-style: none;
margin: 0.5em 0;
padding: 0;
}
.ocr-queue-list li {
margin: 0.35em 0;
padding: 0.4em 0.5em;
background: #fff;
border: 1px solid #ddd;
}
.soldier-facts-box {
margin: 0.35em 0 0.85em;
padding: 0.6em 1em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
max-width: none;
width: 100%;
box-sizing: border-box;
clear: both;
}
.soldier-facts-box > p {
margin: 0;
line-height: 1.6;
}
.soldier-summary-bar {
margin: 0.85em 0 0 !important;
padding-top: 0.75em;
border-top: 1px solid #c8ccd1;
}
.soldier-facts-toggle {
background: #3366cc;
color: #fff;
border: 1px solid #3366cc;
border-radius: 2px;
padding: 0.15em 0.5em;
cursor: pointer;
font-size: inherit;
}
.soldier-facts-toggle:hover {
background: #2a4b8d;
}
.soldier-facts-panel {
margin-top: 0.75em;
}
.soldier-facts-identity {
font-weight: bold;
margin: 0 0 0.75em;
}
.soldier-facts-group {
border: 0;
margin: 0 0 0.75em;
padding: 0;
}
.soldier-facts-group legend {
font-weight: bold;
padding: 0;
margin-bottom: 0.35em;
}
.soldier-facts-field {
margin: 0.35em 0;
}
.soldier-facts-field label {
display: block;
font-size: 95%;
margin-bottom: 0.15em;
}
.soldier-facts-input {
width: 100%;
max-width: 28em;
box-sizing: border-box;
}
.soldier-facts-actions {
margin-top: 0.5em;
}
.soldier-facts-cancel {
margin-left: 0.35em;
}
.soldier-lead {
margin: 0 0 1em 0;
}
.soldier-summary-toggle {
background: #f8f9fa;
color: #202122;
border: 1px solid #a2a9b1;
border-radius: 2px;
padding: 0.15em 0.5em;
cursor: pointer;
font-size: inherit;
}
.soldier-summary-panel {
margin-top: 0.75em;
}
.soldier-summary-hint {
margin: 0 0 0.5em;
font-size: 95%;
color: #54595d;
}
.soldier-summary-text {
width: 100%;
box-sizing: border-box;
min-height: 8em;
font: inherit;
}
.soldier-summary-status {
margin: 0.5em 0 0;
font-size: 95%;
}
/* The Stories — photo galleries and captions */
.story-gallery {
display: flex;
flex-wrap: wrap;
gap: 1em 1.25em;
margin: 0.75em auto 1.25em;
align-items: flex-start;
justify-content: center;
}
.story-gallery-item {
flex: 0 1 16em;
max-width: 18em;
text-align: center;
}
.story-gallery-item img,
.story-gallery-item .mw-file-element,
.story-figure img,
.story-figure .mw-file-element {
display: block;
margin: 0 auto;
max-width: 100%;
max-height: 20em;
width: auto;
height: auto;
object-fit: contain;
}
.story-figure {
margin: 0.75em auto 1.1em;
text-align: center;
max-width: 22em;
}
.story-caption {
font-size: 92%;
line-height: 1.35;
margin: 0.35em 0 0;
color: #444;
}
/* Notable Ritchie Boys — slide-style portrait cards */
.notable-slides {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(14em, 1fr));
gap: 1.15em 1em;
margin: 1em 0 1.5em;
align-items: start;
}
.notable-slide-card {
border: 1px solid #a2a9b1;
background: #f8f9fa;
padding: 0.65em 0.7em 0.75em;
text-align: center;
}
.notable-slide-photo {
margin: 0 0 0.55em;
line-height: 0;
}
.notable-slide-photo img,
.notable-slide-photo .mw-file-element {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
}
.notable-slide-nophoto {
display: flex;
align-items: center;
justify-content: center;
min-height: 8em;
background: #eaecf0;
color: #54595d;
font-size: 90%;
}
.notable-slide-name {
font-weight: bold;
font-size: 105%;
line-height: 1.3;
margin: 0 0 0.25em;
}
.notable-slide-meta {
font-size: 90%;
color: #54595d;
margin: 0 0 0.35em;
}
.notable-slide-body ul {
margin: 0.35em 0 0;
padding-left: 1.2em;
text-align: left;
font-size: 92%;
line-height: 1.35;
}
.notable-slide-body li {
margin: 0.15em 0;
}
/* Soldier profile — compact photo gallery (not infobox-style thumbs).
Stay in the text column beside the infobox; clearing created empty voids. */
.soldier-gallery {
margin: 0.5em 0 1em;
clear: none;
overflow: auto;
width: auto;
max-width: 100%;
box-sizing: border-box;
}
.soldier-gallery ul.gallery,
.soldier-gallery .gallery {
margin: 0;
padding: 0;
width: 100%;
}
.soldier-gallery .gallerybox {
margin: 0.15em;
}
.soldier-gallery .thumb,
.soldier-gallery .gallerybox .thumb {
border: none;
background: transparent;
}
.soldier-gallery .gallerytext {
font-size: 88%;
line-height: 1.3;
text-align: center;
padding: 0.25em 0.35em 0.5em;
max-width: 12em;
margin: 0 auto;
color: #333;
}
/* Wide By The Numbers tables (many specialty columns) */
.rb-wide-table {
overflow-x: auto;
max-width: 100%;
margin: 0.8em 0 1.2em 0;
}
.rb-wide-table .wikitable {
margin: 0;
}
/* By The Numbers showcase hub (v4) */
.mw-parser-output .rb-numbers-stat-grid,
.mw-parser-output .rb-numbers-link-grid {
display: grid !important;
grid-template-columns: repeat(auto-fit, minmax(12em, 1fr));
gap: 0.85em;
margin: 1em 0 1.1em 0;
}
.mw-parser-output .rb-numbers-stat,
.mw-parser-output .rb-numbers-link-card {
background: #f7f4ee !important;
border: 1px solid #c3b7a4 !important;
border-top: 4px solid #3f4a3c !important;
padding: 0.95em 1em 1.05em !important;
box-sizing: border-box;
}
.mw-parser-output .rb-numbers-stat {
text-align: center;
}
.mw-parser-output .rb-numbers-stat-num {
display: block;
font-size: 2.2em !important;
font-weight: 700 !important;
line-height: 1.1;
color: #3f4a3c !important;
letter-spacing: -0.02em;
}
.mw-parser-output .rb-numbers-stat-label {
margin-top: 0.4em;
font-size: 95%;
font-weight: 600;
line-height: 1.3;
}
.mw-parser-output .rb-numbers-stat-note,
.mw-parser-output .rb-numbers-link-desc {
margin-top: 0.35em;
font-size: 84%;
line-height: 1.35;
color: #555;
}
.mw-parser-output .rb-numbers-link-card > a {
font-weight: 600;
font-size: 1.02em;
}
/* Photos page: Google Drive album embed */
.drive-folder-embed {
margin: 1em 0 1.5em;
width: 100%;
max-width: 100%;
background: #f8f9fa;
border: 1px solid #c8ccd1;
box-sizing: border-box;
}
.drive-folder-frame {
display: block;
width: 100%;
height: min(75vh, 900px);
min-height: 520px;
border: 0;
background: #fff;
}
.drive-folder-fallback {
margin: 0.75em 1em;
font-size: 95%;
}
.photos-featured {
margin: 0.75em 0 1.25em;
}
/* The Stories → soldier profile hub card */
.story-soldier-hub {
margin: 0.35em 0 1.25em;
padding: 0.85em 1em;
border: 1px solid #c8ccd1;
background: #f8f9fa;
}
.story-soldier-hub-inner {
display: flex;
flex-wrap: wrap;
gap: 0.85em 1.1em;
align-items: flex-start;
}
.story-soldier-hub-photo {
flex: 0 0 auto;
}
.story-soldier-hub-photo img,
.story-soldier-hub-photo .mw-file-element {
display: block;
width: 140px;
height: 180px;
object-fit: cover;
object-position: center top;
}
.story-soldier-hub-body {
flex: 1 1 14em;
min-width: 12em;
}
.story-soldier-hub-kicker {
font-size: 85%;
text-transform: uppercase;
letter-spacing: 0.04em;
color: #54595d;
margin-bottom: 0.2em;
}
.story-soldier-hub-name {
font-size: 1.25em;
font-weight: 600;
line-height: 1.25;
}
.story-soldier-hub-dates {
margin-top: 0.25em;
color: #202122;
}
.story-soldier-hub-blurb {
margin-top: 0.45em;
font-size: 95%;
}
.story-soldier-hub-cta {
margin-top: 0.55em;
font-size: 92%;
color: #54595d;
}
/* Profile → Stories cue */
.soldier-story-cue {
margin: 0.65em 0 1em;
padding: 0.55em 0.75em;
border-left: 3px solid #2a4b7c;
background: #f4f7fb;
font-size: 97%;
}
.soldier-story-cue-label {
font-weight: 600;
margin-right: 0.25em;
}
/* Same-team rail (team roster samples only; not classmates) */
.soldier-related {
margin: 1em 0 1.35em;
padding: 0.75em 0.9em;
border: 1px solid #c8ccd1;
background: #fbfbfb;
clear: both;
}
.soldier-related-heading {
font-weight: 600;
font-size: 1.05em;
margin: 0 0 0.55em;
}
.soldier-related-block + .soldier-related-block {
margin-top: 0.65em;
}
.soldier-related-label {
font-size: 92%;
font-weight: 600;
color: #54595d;
margin-bottom: 0.2em;
}
.soldier-related-links {
font-size: 95%;
line-height: 1.45;
}
.soldier-related-note {
margin-top: 0.75em;
font-size: 88%;
color: #54595d;
line-height: 1.4;
}
/* Contact Us: Google Form embed */
.google-form-embed {
margin: 1em 0 1.5em;
width: 100%;
max-width: 100%;
background: #f8f9fa;
border: 1px solid #c8ccd1;
box-sizing: border-box;
}
.google-form-frame {
display: block;
width: 100%;
height: min(90vh, 1500px);
min-height: 1100px;
border: 0;
background: #fff;
}
.google-form-fallback {
margin: 0.75em 1em;
font-size: 95%;
}