No edit summary
Styles for Internet Archive interview embeds
 
(8 intermediate revisions by the same user not shown)
Line 196: Line 196:
}
}


/* Find-a-soldier: keep a normal-sized field on phones (not full bleed) */
/* Find-a-soldier: compact field on phones (never a tall flex-grown square) */
.skin-minerva .home-find {
.skin-minerva .home-find {
max-width: 22em !important;
max-width: 22em !important;
Line 205: Line 205:
}
}
.skin-minerva .home-find-row {
.skin-minerva .home-find-row {
display: flex;
display: flex !important;
flex-wrap: wrap;
flex-direction: row !important;
flex-wrap: nowrap !important;
gap: 0.4em;
gap: 0.4em;
align-items: center;
align-items: center !important;
}
}
.skin-minerva .home-find-suggest-wrap {
.skin-minerva .home-find-suggest-wrap {
flex: 1 1 auto;
flex: 1 1 auto;
min-width: 0;
min-width: 0;
max-width: 14em;
max-width: none;
width: 100%;
}
}
.skin-minerva .home-find-input,
.skin-minerva .home-find-input,
Line 220: Line 222:
.skin-minerva .home-find input[type="search"],
.skin-minerva .home-find input[type="search"],
.skin-minerva .home-find input[type="text"] {
.skin-minerva .home-find input[type="text"] {
width: 100% !important;
flex: 1 1 auto !important;
max-width: 14em !important;
width: auto !important;
min-width: 0 !important;
min-width: 0 !important;
flex: 0 1 14em !important;
max-width: none !important;
box-sizing: border-box;
height: 2.25em !important;
min-height: 2.25em !important;
max-height: 2.5em !important;
padding: 0.25em 0.5em !important;
line-height: 1.2 !important;
font-size: 16px !important; /* avoid iOS zoom-on-focus */
box-sizing: border-box !important;
}
}
.skin-minerva .home-find-button {
.skin-minerva .home-find-button {
flex: 0 0 auto;
flex: 0 0 auto !important;
height: 2.25em !important;
min-height: 2.25em !important;
padding: 0 0.85em !important;
margin-top: 0 !important;
box-sizing: border-box !important;
}
}


.hatnote,
/* Hide find-a-soldier noscript fallback when JS will build the real form (Mobile polish cachebust) */
.hatnote.unconfirmed-banner,
.client-js .home-find-fallback {
.unconfirmed-banner {
display: none;
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 {
/* Soldier edit strip: keep tools, drop long help copy on phones */
color: #54595d;
.skin-minerva .soldier-facts-box {
padding-left: 0;
margin: 0.25em 0 0.55em !important;
margin: 0 0 0.5em 0;
padding: 0.45em 0.65em !important;
max-width: none;
background: transparent !important;
border: none !important;
border-bottom: 1px solid #eaecf0 !important;
max-width: 100% !important;
}
}
 
.skin-minerva .soldier-facts-intro,
.hatnote.source-confidence-cue,
.skin-minerva .soldier-summary-bar {
.source-confidence-cue {
display: flex;
color: #54595d;
flex-wrap: wrap;
padding-left: 0;
gap: 0.35em 0.5em;
margin: 0;
align-items: center;
max-width: none;
font-size: 90%;
line-height: 1.35;
}
}
 
.skin-minerva .soldier-facts-label,
.soldier-page-footer-notes {
.skin-minerva .soldier-facts-help,
clear: both;
.skin-minerva .soldier-summary-help {
margin: 1.5em 0 0.75em 0;
display: none !important;
padding: 0.75em 0 0 0;
border-top: 1px solid #c8ccd1;
font-size: 92%;
line-height: 1.45;
}
}
 
.skin-minerva .soldier-summary-bar {
.soldier-page-footer-notes .hatnote {
margin: 0.4em 0 0 !important;
margin-bottom: 0.45em;
padding-top: 0.4em !important;
border-top: 1px solid #eaecf0 !important;
}
}
 
.skin-minerva .soldier-facts-toggle,
.soldier-page-footer-notes .hatnote:last-child {
.skin-minerva .soldier-summary-toggle {
margin-bottom: 0;
font-size: 90%;
padding: 0.3em 0.55em;
}
}


/* Hide until Common.js moves these into .soldier-page-footer-notes (keeps the lead clear). */
/* Wide tables: swipe sideways instead of blowing out the page */
.mw-parser-output > .research-notes-disclaimer,
.skin-minerva .mw-parser-output .wikitable,
.mw-parser-output > .source-confidence-cue,
.skin-minerva .mw-parser-output table.cargoTable,
.mw-parser-output > .hatnote.research-notes-disclaimer,
.skin-minerva .mw-parser-output .rb-wide-table,
.mw-parser-output > .hatnote.source-confidence-cue {
.skin-minerva .mw-parser-output .jquery-tablesorter {
display: none;
display: block;
width: 100%;
max-width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
box-sizing: border-box;
}
.skin-minerva .mw-parser-output img,
.skin-minerva .mw-parser-output .mw-file-element {
max-width: 100%;
height: auto;
}
}


/*
/* Shorter Drive / Form embeds on phones */
* Blank lines after the Soldier template / between hatnotes become <p><br></p> and sit
.skin-minerva .drive-folder-frame {
* beside the floated infobox as a tall empty column. Collapse them so the lead
min-height: 220px !important;
* starts at the top next to the infobox.
height: 42vh !important;
*/
max-height: 380px !important;
.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),
.skin-minerva .google-form-frame {
.mw-parser-output:has(> table.soldier-infobox) > p:empty,
min-height: 260px !important;
.mw-parser-output:has(> table.infobox.soldier-infobox) > p:empty {
height: 52vh !important;
display: none;
max-height: 480px !important;
margin: 0;
padding: 0;
height: 0;
line-height: 0;
overflow: hidden;
}
}
 
.skin-minerva .drive-folder-fallback,
.mw-parser-output:has(> table.soldier-infobox) > .soldier-lead,
.skin-minerva .google-form-fallback {
.mw-parser-output:has(> table.infobox.soldier-infobox) > .soldier-lead {
font-size: 95%;
margin-top: 0;
margin: 0.5em 0.75em;
}
}


.soldier-research-notes {
/* Separate site hubs in the hamburger from Home / Random */
display: none;
.skin-minerva #p-ritchie {
border-top: 1px solid rgba(0, 0, 0, 0.08);
margin-top: 0.25em;
padding-top: 0.25em;
}
}


/* Wikipedia-style award ribbon rack in the main article column */
.hatnote,
.soldier-awards-section {
.hatnote.unconfirmed-banner,
clear: both;
.unconfirmed-banner {
margin: 1em 0 1.25em 0;
background: transparent;
max-width: 100%;
border: none;
padding: 0 0 0.5em 1.6em;
margin: 0 0 0.6em 0;
font-style: italic;
color: #202122;
}
}


.soldier-awards-heading {
.hatnote.research-notes-disclaimer {
font-family: inherit;
color: #54595d;
font-size: 1.5em;
padding-left: 0;
font-weight: bold;
margin: 0 0 0.5em 0;
border-bottom: 1px solid #a2a9b1;
max-width: none;
margin: 1em 0 0.5em 0;
}
padding-bottom: 0.15em;
line-height: 1.3;
}


.soldier-awards-list {
.hatnote.source-confidence-cue,
margin: 0.75em 0 0.25em 0;
.source-confidence-cue {
color: #54595d;
padding-left: 0;
margin: 0;
max-width: none;
max-width: none;
}
}


.soldier-awards-list ul,
.soldier-page-footer-notes {
.soldier-awards-section ul {
clear: both;
margin: 0.4em 0 0.4em 1.6em;
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;
}
}


/* Keep extra award notes on one line (e.g. Chafee statue sentence) */
.soldier-page-footer-notes .hatnote {
.soldier-awards-list li {
margin-bottom: 0.45em;
white-space: nowrap;
}
}


/* Ribbon rack: tiny gaps like Wikipedia (border-spacing 2px + 1px cell pad) */
.soldier-page-footer-notes .hatnote:last-child {
.soldier-awards-section .soldier-ribbon-rack,
margin-bottom: 0;
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 {
/* Hide until Common.js moves these into .soldier-page-footer-notes (keeps the lead clear). */
margin-top: 0.75em;
.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;
}
}


/* Separate tables per row — mirror Wikipedia's ~4px row gap */
/*
.soldier-awards-section > table.soldier-ribbon-rack + table.soldier-ribbon-rack {
* Blank lines after the Soldier template / between hatnotes become <p><br></p> and sit
margin-top: 2px;
* beside the floated infobox as a tall empty column. Collapse them so the lead
}
* starts at the top next to the infobox.
 
*/
table.soldier-ribbon-rack,
.mw-parser-output:has(> table.soldier-infobox) > p:has(> br:only-child),
table.soldier-ribbon-rack > tbody > tr > td,
.mw-parser-output:has(> table.infobox.soldier-infobox) > p:has(> br:only-child),
table.soldier-ribbon-rack > tr > td {
.mw-parser-output:has(> table.soldier-infobox) > p:empty,
border: none !important;
.mw-parser-output:has(> table.infobox.soldier-infobox) > p:empty {
background: transparent !important;
display: none;
padding: 1px !important;
margin: 0;
text-align: center;
padding: 0;
vertical-align: middle;
height: 0;
line-height: 0;
line-height: 0;
overflow: hidden;
}
}


table.soldier-ribbon-rack img,
.mw-parser-output:has(> table.soldier-infobox) > .soldier-lead,
table.soldier-ribbon-rack .mw-file-element {
.mw-parser-output:has(> table.infobox.soldier-infobox) > .soldier-lead {
display: block;
margin-top: 0;
max-width: 106px;
height: auto;
vertical-align: top;
margin: 0 auto;
}
}


/* Ribbons + captions in one table: equal columns so each label centers under its ribbon */
.soldier-research-notes {
table.soldier-ribbon-rack.soldier-awards-labeled {
display: none;
table-layout: fixed;
line-height: normal;
margin-bottom: 0.35em;
}
}


table.soldier-ribbon-rack.soldier-awards-labeled > tbody > tr > td,
/* Wikipedia-style award ribbon rack in the main article column */
table.soldier-ribbon-rack.soldier-awards-labeled > tr > td {
.soldier-awards-section {
width: 118px;
clear: both;
max-width: 118px;
margin: 1em 0 1.25em 0;
vertical-align: top;
max-width: 100%;
}
}


table.soldier-ribbon-rack.soldier-awards-labeled td.soldier-award-caption {
.soldier-awards-heading {
line-height: 1.35 !important;
font-family: inherit;
font-size: 95%;
font-size: 1.5em;
padding: 0.4em 0.45em !important;
font-weight: bold;
text-align: center;
border-bottom: 1px solid #a2a9b1;
vertical-align: middle;
margin: 1em 0 0.5em 0;
white-space: normal;
padding-bottom: 0.15em;
overflow-wrap: break-word;
line-height: 1.3;
word-break: normal;
}
border: 1px solid #a2a9b1 !important;
 
background: #f8f9fa !important;
.soldier-awards-list {
margin: 0.75em 0 0.25em 0;
max-width: none;
}
}


/* Match en.wikipedia awards wikitable: auto column widths from content
.soldier-awards-list ul,
  (long names get more space), centered, no artificial skinny max-width */
.soldier-awards-section ul {
table.soldier-awards-grid {
margin: 0.4em 0 0.4em 1.6em;
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,
/* Keep extra award notes on one line (e.g. Chafee statue sentence) */
table.soldier-awards-grid td {
.soldier-awards-list li {
border: 1px solid #a2a9b1;
white-space: nowrap;
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 {
/* Ribbon rack: tiny gaps like Wikipedia (border-spacing 2px + 1px cell pad) */
border: 1px solid #a2a9b1;
.soldier-awards-section .soldier-ribbon-rack,
background: #f8f9fa;
table.soldier-ribbon-rack {
padding: 0.7em 0.9em;
margin: 0 auto;
margin: 0.8em 0 1em 0;
border-collapse: separate;
font-size: 92%;
border-spacing: 2px;
line-height: 1.45;
background: transparent;
max-width: none;
border: none;
color: #202122;
width: max-content;
max-width: 100%;
line-height: 0;
}
}


.home-lead {
.soldier-awards-section > table.soldier-ribbon-rack:first-of-type {
max-width: none;
margin-top: 0.75em;
font-size: 1.05em;
margin-bottom: 1em;
}
}


.page-lead {
/* Separate tables per row — mirror Wikipedia's ~4px row gap */
max-width: none;
.soldier-awards-section > table.soldier-ribbon-rack + table.soldier-ribbon-rack {
font-size: 1.05em;
margin-top: 2px;
margin: 0 0 1em 0;
line-height: 1.5;
}
}


.home-find {
table.soldier-ribbon-rack,
margin: 0 0 1.25em 0;
table.soldier-ribbon-rack > tbody > tr > td,
padding: 0.85em 1em;
table.soldier-ribbon-rack > tr > td {
background: #f8f9fa;
border: none !important;
border: 1px solid #a2a9b1;
background: transparent !important;
max-width: 36em;
padding: 1px !important;
text-align: center;
vertical-align: middle;
line-height: 0;
}
}


.home-find-title {
table.soldier-ribbon-rack img,
font-weight: bold;
table.soldier-ribbon-rack .mw-file-element {
font-size: 1.1em;
display: block;
margin: 0 0 0.45em 0;
max-width: 106px;
height: auto;
vertical-align: top;
margin: 0 auto;
}
}


.home-find-label {
/* Ribbons + captions in one table: equal columns so each label centers under its ribbon */
display: block;
table.soldier-ribbon-rack.soldier-awards-labeled {
font-size: 95%;
table-layout: fixed;
margin-bottom: 0.25em;
line-height: normal;
margin-bottom: 0.35em;
}
}


.home-find-row {
table.soldier-ribbon-rack.soldier-awards-labeled > tbody > tr > td,
display: flex;
table.soldier-ribbon-rack.soldier-awards-labeled > tr > td {
flex-wrap: wrap;
width: 118px;
gap: 0.4em;
max-width: 118px;
align-items: center;
vertical-align: top;
}
}


.home-find-suggest-wrap {
table.soldier-ribbon-rack.soldier-awards-labeled td.soldier-award-caption {
position: relative;
line-height: 1.35 !important;
font-size: 95%;
padding: 0.4em 0.45em !important;
text-align: center;
vertical-align: middle;
white-space: normal;
overflow-wrap: break-word;
word-break: normal;
border: 1px solid #a2a9b1 !important;
background: #f8f9fa !important;
}
}


.home-find-suggest {
/* Match en.wikipedia awards wikitable: auto column widths from content
position: absolute;
  (long names get more space), centered, no artificial skinny max-width */
left: 0;
table.soldier-awards-grid {
right: 0;
margin: 1em auto;
top: 100%;
border-collapse: collapse;
z-index: 50;
table-layout: auto;
margin: 0.15em 0 0;
width: auto;
padding: 0.2em 0;
max-width: 100%;
list-style: none;
font-size: 95%;
background: #fff;
line-height: 1.4;
border: 1px solid #a2a9b1;
text-align: center;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
max-height: 16em;
overflow-y: auto;
}
}


.home-find-suggest[hidden] {
table.soldier-awards-grid > tbody > tr > td,
display: none !important;
table.soldier-awards-grid td {
}
border: 1px solid #a2a9b1;
 
.home-find-suggest li {
margin: 0;
padding: 0.4em 0.65em;
padding: 0.4em 0.65em;
cursor: pointer;
text-align: center;
font-size: 95%;
vertical-align: middle;
line-height: 1.35;
background: #f8f9fa;
overflow-wrap: break-word;
word-break: normal;
hyphens: manual;
}
}


.home-find-suggest li:hover,
.class-data-disclaimer {
.home-find-suggest li.home-find-suggest-active {
border: 1px solid #a2a9b1;
background: #eaf3ff;
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-find-input {
.home-lead {
flex: 1 1 14em;
max-width: none;
min-width: 12em;
font-size: 1.05em;
padding: 0.35em 0.5em;
margin-bottom: 1em;
font: inherit;
border: 1px solid #a2a9b1;
box-sizing: border-box;
}
}


.home-find-button {
.page-lead {
padding: 0.35em 0.85em;
max-width: none;
font: inherit;
font-size: 1.05em;
cursor: pointer;
margin: 0 0 1em 0;
background: #3366cc;
line-height: 1.5;
color: #fff;
border: 1px solid #3366cc;
}
}


.home-find-button:hover {
.home-find {
background: #2a4b8d;
margin: 0 0 1.25em 0;
padding: 0.85em 1em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
max-width: 36em;
}
}


.home-find-hint {
.home-find-title {
margin: 0.55em 0 0;
font-weight: bold;
font-size: 95%;
font-size: 1.1em;
color: #54595d;
margin: 0 0 0.45em 0;
}
}


.home-find-more {
.home-find-label {
margin: 0.75em 0 0;
display: block;
padding-top: 0.65em;
border-top: 1px solid #c8ccd1;
font-size: 95%;
font-size: 95%;
line-height: 1.6;
margin-bottom: 0.25em;
color: #54595d;
}
}


/*
.home-find-row {
* Directory lists from the categorytree parser function (Contents and any
display: flex;
* future page that embeds one): match MediaWiki category pages
flex-wrap: wrap;
* (.mw-category-columns) with a compact 3-column layout so long indexes
gap: 0.4em;
* are not a single tall stack.
align-items: center;
*/
.CategoryTreeTag {
column-count: 3;
column-gap: 1.25em;
margin: 0.4em 0 1em 0;
}
}


.CategoryTreeTag > .CategoryTreeSection {
.home-find-suggest-wrap {
break-inside: avoid;
position: relative;
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
margin: 0.12em 0;
}
}


@media (max-width: 800px) {
.home-find-suggest {
.CategoryTreeTag {
position: absolute;
column-count: 2;
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;
}
}


@media (max-width: 480px) {
.home-find-suggest[hidden] {
.CategoryTreeTag {
display: none !important;
column-count: 1;
}
}
}


.home-hero-photo {
.home-find-suggest li {
margin: 0 0 1.35em 0;
margin: 0;
max-width: 100%;
padding: 0.4em 0.65em;
clear: both;
cursor: pointer;
font-size: 95%;
line-height: 1.35;
}
}


.home-hero-photo img,
.home-find-suggest li:hover,
.home-hero-photo .mw-file-element {
.home-find-suggest li.home-find-suggest-active {
display: block;
background: #eaf3ff;
width: 100%;
max-width: 56em;
height: auto;
}
}


.home-feature-thumbs {
.home-find-input {
display: flex;
flex: 1 1 14em;
flex-wrap: wrap;
min-width: 12em;
gap: 1em 1.25em;
padding: 0.35em 0.5em;
margin: 0.75em 0 0.35em;
font: inherit;
align-items: flex-start;
border: 1px solid #a2a9b1;
box-sizing: border-box;
}
}


.home-feature-thumb {
.home-find-button {
flex: 0 0 150px;
padding: 0.35em 0.85em;
width: 150px;
font: inherit;
text-align: center;
cursor: pointer;
}
background: #3366cc;
color: #fff;
border: 1px solid #3366cc;
}


.home-feature-thumb a {
.home-find-button:hover {
display: block;
background: #2a4b8d;
}
}


.home-feature-thumb img,
.home-find-hint {
.home-feature-thumb .mw-file-element {
margin: 0.55em 0 0;
display: block;
font-size: 95%;
width: 150px;
color: #54595d;
height: 220px;
margin: 0 auto 0.4em;
object-fit: cover;
object-position: center center;
}
}


.home-feature-caption {
.home-find-more {
margin: 0.75em 0 0;
padding-top: 0.65em;
border-top: 1px solid #c8ccd1;
font-size: 95%;
font-size: 95%;
line-height: 1.35;
line-height: 1.6;
color: #54595d;
}
}


.home-book {
/*
display: flex;
* Directory lists from the categorytree parser function (Contents and any
flex-wrap: wrap;
* future page that embeds one): match MediaWiki category pages
gap: 1em 1.25em;
* (.mw-category-columns) with a compact 3-column layout so long indexes
align-items: flex-start;
* are not a single tall stack.
margin: 0.75em 0 1.25em;
*/
.CategoryTreeTag {
column-count: 3;
column-gap: 1.25em;
margin: 0.4em 0 1em 0;
}
}


.home-book-cover {
.CategoryTreeTag > .CategoryTreeSection {
flex: 0 0 auto;
break-inside: avoid;
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
margin: 0.12em 0;
}
}


.home-book-cover img,
@media (max-width: 800px) {
.home-book-cover .mw-file-element {
.CategoryTreeTag {
display: block;
column-count: 2;
max-width: 140px;
}
height: auto;
}
}


.home-book-text {
@media (max-width: 480px) {
flex: 1 1 16em;
.CategoryTreeTag {
min-width: 12em;
column-count: 1;
line-height: 1.55;
}
}
}


.needs-source,
.home-hero-photo {
.needs-source a {
margin: 0 0 1.35em 0;
font-style: normal;
max-width: 100%;
white-space: nowrap;
clear: both;
}
}


.mw-parser-output > p:first-of-type {
.home-hero-photo img,
margin-top: 0.2em;
.home-hero-photo .mw-file-element {
display: block;
width: 100%;
max-width: 56em;
height: auto;
}
}


@media (max-width: 640px) {
.home-feature-thumbs {
table.infobox,
display: flex;
table.soldier-infobox {
flex-wrap: wrap;
float: none;
gap: 1em 1.25em;
clear: both;
margin: 0.75em 0 0.35em;
width: 100%;
align-items: flex-start;
max-width: 100%;
margin: 0 0 1em 0;
}
.home-find-row {
flex-direction: column;
align-items: stretch;
}
.home-find-input,
.home-find-button {
width: 100%;
box-sizing: border-box;
}
.home-find-button {
margin-top: 0.35em;
}
.soldier-facts-box,
.soldier-facts-panel,
.soldier-summary-panel {
max-width: 100%;
}
.drive-folder-frame {
min-height: 360px;
height: 60vh;
}
.google-form-frame {
min-height: 420px;
height: 70vh;
}
}
}


/* Collapsible JS inserts [Expand]/[Collapse] flush against header text.
.home-feature-thumb {
  Core .mw-collapsible-toggle-default { margin: 0; padding: 0 } wins over a
flex: 0 0 150px;
  single-class rule, so target both classes. */
width: 150px;
.mw-collapsible-toggle.mw-collapsible-toggle-default {
text-align: center;
margin-left: 0.4em;
padding-left: 0.25em;
}
}


/* Timeline disclosures open from the left, like the Technical record control. */
.home-feature-thumb a {
.soldier-timeline {
display: block;
display: flow-root;
margin-bottom: 1em;
}
}


.soldier-timeline + h2 {
.home-feature-thumb img,
clear: both;
.home-feature-thumb .mw-file-element {
display: block;
width: 150px;
height: 220px;
margin: 0 auto 0.4em;
object-fit: cover;
object-position: center center;
}
}


.soldier-timeline-body {
.home-feature-caption {
clear: both;
font-size: 95%;
padding-top: 0.25em;
line-height: 1.35;
}
}


.soldier-timeline .mw-collapsible-toggle.mw-collapsible-toggle-default {
.home-book {
float: left;
display: flex;
margin-left: 0;
flex-wrap: wrap;
margin-right: 0.5em;
gap: 1em 1.25em;
padding-left: 0;
align-items: flex-start;
margin: 0.75em 0 1.25em;
}
}


/* Compact disclosure in the text column beside the floated infobox.
.home-book-cover {
  clear:both here (and on .soldier-gallery) caused the huge Gallery gaps. */
flex: 0 0 auto;
.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 {
.home-book-cover img,
display: list-item;
.home-book-cover .mw-file-element {
cursor: pointer;
display: block;
padding: 0.35em 0.6em;
max-width: 140px;
background: #f8f9fa;
height: auto;
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 {
.home-book-text {
background: #eaecf0;
flex: 1 1 16em;
min-width: 12em;
line-height: 1.55;
}
}


.soldier-upload-box[open] > summary {
.needs-source,
margin-bottom: 0;
.needs-source a {
border-bottom-left-radius: 0;
font-style: normal;
border-bottom-right-radius: 0;
white-space: nowrap;
}
}


.soldier-upload-body {
.mw-parser-output > p:first-of-type {
padding: 0.65em 0.75em 0.75em;
margin-top: 0.2em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
border-top: none;
box-sizing: border-box;
max-width: 100%;
}
}


.soldier-contrib-section {
@media (max-width: 640px) {
margin: 0;
table.infobox,
padding: 0;
table.soldier-infobox {
max-width: 100%;
float: none;
box-sizing: border-box;
clear: both;
}
width: 100%;
 
max-width: 100%;
.soldier-contrib-ocr {
margin: 0 0 1em 0;
margin-top: 0.75em;
}
padding-top: 0.75em;
/* Keep input + Search on one row. Column + flex-basis:14em made the
border-top: 1px solid #c8ccd1;
  search field a ~14em-tall square on phones (Minerva / narrow Vector). */
.home-find-row {
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
}
.home-find-input {
flex: 1 1 auto;
width: auto;
min-width: 0;
max-width: none;
height: 2.25em;
min-height: 2.25em;
max-height: 2.5em;
box-sizing: border-box;
}
.home-find-button {
flex: 0 0 auto;
width: auto;
height: 2.25em;
min-height: 2.25em;
margin-top: 0;
box-sizing: border-box;
}
.soldier-facts-box,
.soldier-facts-panel,
.soldier-summary-panel {
max-width: 100%;
}
.drive-folder-frame {
min-height: 240px;
height: 45vh;
max-height: 400px;
}
.google-form-frame {
min-height: 280px;
height: 55vh;
max-height: 500px;
}
.mw-parser-output .wikitable,
.mw-parser-output table.cargoTable {
display: block;
width: 100%;
max-width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
}


.soldier-contrib-heading {
/* Collapsible JS inserts [Expand]/[Collapse] flush against header text.
margin: 0 0 0.35em;
  Core .mw-collapsible-toggle-default { margin: 0; padding: 0 } wins over a
line-height: 1.4;
  single-class rule, so target both classes. */
.mw-collapsible-toggle.mw-collapsible-toggle-default {
margin-left: 0.4em;
padding-left: 0.25em;
}
}


.soldier-contrib-help {
/* Timeline disclosures open from the left, like the Technical record control. */
margin: 0 0 0.5em;
.soldier-timeline {
font-size: 95%;
display: flow-root;
color: #54595d;
margin-bottom: 1em;
line-height: 1.5;
}
}


.soldier-ocr-slot:empty {
.soldier-timeline + h2 {
display: none;
clear: both;
}
}


.soldier-upload-form label {
.soldier-timeline-body {
display: block;
clear: both;
margin: 0.35em 0;
padding-top: 0.25em;
}
}


.soldier-upload-file {
.soldier-timeline .mw-collapsible-toggle.mw-collapsible-toggle-default {
display: block;
float: left;
margin: 0.5em 0;
margin-left: 0;
max-width: 100%;
margin-right: 0.5em;
padding-left: 0;
}
}


.soldier-upload-form button,
/* Compact disclosure in the text column beside the floated infobox.
.soldier-contrib-ocr > button {
  clear:both here (and on .soldier-gallery) caused the huge Gallery gaps. */
margin-top: 0.5em;
.soldier-upload-box {
margin-right: 0.5em;
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-status {
.soldier-upload-box > summary {
margin: 0.5em 0 0;
display: list-item;
font-size: 95%;
cursor: pointer;
}
padding: 0.35em 0.6em;
 
background: #f8f9fa;
.soldier-upload-login {
border: 1px solid #a2a9b1;
margin: 0.35em 0 0;
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;
}
}


/* Site-wide OCR inbox (Contribute documents) */
.soldier-upload-body {
.ocr-review-box {
padding: 0.65em 0.75em 0.75em;
margin: 0.75em 0 1em;
padding: 0.75em 1em;
background: #f8f9fa;
background: #f8f9fa;
border: 1px solid #a2a9b1;
border: 1px solid #a2a9b1;
width: auto;
border-top: none;
max-width: min(96em, 100%);
box-sizing: border-box;
box-sizing: border-box;
clear: both;
max-width: 100%;
}
}
.ocr-review-box h3 {
 
margin: 0 0 0.4em;
.soldier-contrib-section {
font-size: 1.05em;
margin: 0;
}
padding: 0;
.ocr-review-host,
.ocr-review-panel {
width: 100%;
max-width: 100%;
max-width: 100%;
box-sizing: border-box;
box-sizing: border-box;
}
}
.ocr-review-layout {
 
display: flex;
.soldier-contrib-ocr {
flex-wrap: wrap;
margin-top: 0.75em;
gap: 1em;
padding-top: 0.75em;
margin-top: 0.6em;
border-top: 1px solid #c8ccd1;
width: 100%;
max-width: 100%;
box-sizing: border-box;
}
}
.ocr-review-preview {
 
flex: 1 1 180px;
.soldier-contrib-heading {
max-width: min(280px, 100%);
margin: 0 0 0.35em;
box-sizing: border-box;
line-height: 1.4;
}
}
.ocr-preview-sticky {
 
position: sticky;
.soldier-contrib-help {
top: 0.75em;
margin: 0 0 0.5em;
align-self: flex-start;
font-size: 95%;
color: #54595d;
line-height: 1.5;
}
}
.ocr-review-preview img {
 
max-width: 100%;
.soldier-ocr-slot:empty {
height: auto;
display: none;
border: 1px solid #ccc;
background: #fff;
}
}
.ocr-review-facts {
 
flex: 2 1 220px;
.soldier-upload-form label {
min-width: 0;
display: block;
box-sizing: border-box;
margin: 0.35em 0;
}
}
.ocr-review-facts textarea {
 
width: 100%;
.soldier-upload-file {
min-height: 8em;
display: block;
box-sizing: border-box;
margin: 0.5em 0;
font-family: ui-monospace, monospace;
max-width: 100%;
font-size: 90%;
}
}
.ocr-fact-row {
 
display: flex;
.soldier-upload-form button,
flex-wrap: wrap;
.soldier-contrib-ocr > button {
align-items: flex-start;
margin-top: 0.5em;
gap: 0.4em;
margin-right: 0.5em;
margin: 0.35em 0;
padding: 0.35em 0;
border-bottom: 1px solid #e4e8df;
}
}
.ocr-change-line {
 
flex: 1 1 12em;
.soldier-upload-status {
min-width: 0;
margin: 0.5em 0 0;
font-size: 95%;
}
}
.ocr-fact-details {
 
flex: 1 1 100%;
.soldier-upload-login {
margin: 0.15em 0 0.25em 1.5em;
margin: 0.35em 0 0;
font-size: 90%;
}
 
/* Camp-wide manuals (Training materials) */
.camp-manual-upload-slot {
margin: 0.75em 0 1.25em;
max-width: 36em;
}
}
.ocr-fact-details summary {
 
cursor: pointer;
.camp-manual-upload-box {
color: #54595d;
border-top: 1px solid #a2a9b1;
}
}
.ocr-fact-row input[type="text"],
 
.ocr-fact-value {
.camp-manual-upload-form input[type="text"] {
flex: 1 1 12em;
display: block;
min-width: 0;
width: 100%;
max-width: 100%;
max-width: 28em;
margin: 0.25em 0 0.5em;
padding: 0.35em 0.5em;
box-sizing: border-box;
box-sizing: border-box;
}
}
.ocr-fact-meta {
 
font-size: 85%;
.camp-manual-progress {
color: #54595d;
margin: 0.65em 0 0.25em;
max-width: 28em;
}
}
.ocr-review-actions {
 
margin-top: 0.75em;
.camp-manual-progress[hidden] {
display: flex;
display: none !important;
flex-wrap: wrap;
gap: 0.5em;
align-items: center;
}
}
.ocr-apply-btn {
 
font-weight: 600;
.camp-manual-progress-bar {
}
height: 0.65em;
.ocr-dry-run {
background: #eaecf0;
margin: 0.35em 0 0;
padding: 0.55em 0.7em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
border: 1px solid #a2a9b1;
border-radius: 2px;
overflow: hidden;
}
}
.ocr-dry-run ul {
 
margin: 0.35em 0 0;
.camp-manual-progress-fill {
padding-left: 1.2em;
height: 100%;
width: 0%;
background: #3366cc;
transition: width 0.15s linear;
}
}
.ocr-seed-banner {
 
margin: 0.5em 0;
.camp-manual-progress.is-indeterminate .camp-manual-progress-fill {
padding: 0.45em 0.65em;
width: 35% !important;
background: #fff8e6;
animation: camp-manual-progress-pulse 1.1s ease-in-out infinite;
border: 1px solid #c8a84b;
}
}
.ocr-review-status {
 
margin: 0.5em 0 0;
@keyframes camp-manual-progress-pulse {
font-size: 95%;
0% { transform: translateX(-40%); }
flex: 1 1 100%;
100% { transform: translateX(220%); }
}
}
.ocr-apply-preview {
 
margin: 0.85em 0;
.camp-manual-progress-label {
padding: 0.55em 0.7em;
background: #f0f6e8;
border: 1px solid #a3b18a;
}
.ocr-apply-preview-list {
margin: 0.35em 0 0;
margin: 0.35em 0 0;
padding-left: 1.2em;
font-size: 90%;
color: #54595d;
}
}
.ocr-apply-preview-list li {
 
margin: 0.2em 0;
.camp-manual-lib-actions {
display: inline-flex;
gap: 0.35em;
margin-left: 0.5em;
vertical-align: middle;
}
}
.ocr-advanced {
 
margin: 0.75em 0;
.camp-manual-lib-actions button {
padding: 0.4em 0.55em;
font-size: 85%;
border: 1px dashed #a2a9b1;
padding: 0.1em 0.45em;
background: #f8f9fa;
line-height: 1.3;
}
.ocr-advanced > summary {
cursor: pointer;
cursor: pointer;
font-weight: 600;
}
}
.ocr-advanced-body {
 
margin-top: 0.5em;
.camp-manual-lib-actions .camp-manual-lib-delete {
color: #ba0000;
}
}
.ocr-advanced-actions {
 
display: flex;
/* Site-wide OCR inbox (Contribute documents) */
flex-wrap: wrap;
.ocr-review-box {
gap: 0.4em;
margin: 0.75em 0 1em;
margin-top: 0.5em;
padding: 0.75em 1em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
width: auto;
max-width: min(96em, 100%);
box-sizing: border-box;
clear: both;
}
}
.ocr-person-card {
.ocr-review-box h3 {
margin: 0.75em 0;
margin: 0 0 0.4em;
padding: 0.65em 0.75em;
font-size: 1.05em;
border: 1px solid #c8ccd1;
background: #fff;
border-radius: 2px;
}
}
.ocr-roster-table {
.ocr-review-host,
.ocr-review-panel {
width: 100%;
width: 100%;
border-collapse: collapse;
max-width: 100%;
background: #fff;
box-sizing: border-box;
font-size: 95%;
margin: 0.35em 0 0.75em;
}
}
.ocr-roster-table th {
.ocr-review-layout {
text-align: left;
display: flex;
background: #3f4a3c;
flex-wrap: wrap;
color: #fff;
gap: 1em;
padding: 0.45em 0.55em;
margin-top: 0.6em;
font-weight: 600;
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-roster-table td {
.ocr-preview-sticky {
vertical-align: top;
position: sticky;
padding: 0.55em 0.6em;
top: 0.75em;
border-bottom: 1px solid #eaecf0;
align-self: flex-start;
}
}
.ocr-roster-table tr.ocr-person-card {
.ocr-review-preview img {
margin: 0;
max-width: 100%;
padding: 0;
height: auto;
border: 0;
border: 1px solid #ccc;
border-left: 4px solid #c8ccd1;
border-radius: 0;
background: #fff;
background: #fff;
}
}
.ocr-roster-table tr.ocr-person-matched {
.ocr-review-facts {
border-left: 4px solid #14866d;
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-roster-table tr.ocr-person-unresolved {
.ocr-fact-row {
border-left: 4px solid #fc3;
display: flex;
background: #fffdf5;
flex-wrap: wrap;
align-items: flex-start;
gap: 0.4em;
margin: 0.35em 0;
padding: 0.35em 0;
border-bottom: 1px solid #e4e8df;
}
}
.ocr-roster-table tr.ocr-person-done {
.ocr-change-line {
opacity: 1;
flex: 1 1 12em;
background: #f8f9fa;
min-width: 0;
border-left-color: #a2a9b1;
}
}
.ocr-roster-table .ocr-group-heading-row td {
.ocr-fact-details {
background: #ece6da;
flex: 1 1 100%;
font-weight: 600;
margin: 0.15em 0 0.25em 1.5em;
border-bottom: 1px solid #c8ccd1;
font-size: 90%;
padding-top: 0.75em;
}
}
.ocr-col-do {
.ocr-fact-details summary {
width: 4.2em;
cursor: pointer;
white-space: nowrap;
color: #54595d;
text-align: center;
}
}
.ocr-scan-name {
.ocr-fact-row input[type="text"],
font-weight: 600;
.ocr-fact-value {
font-size: 1.05em;
flex: 1 1 12em;
min-width: 0;
max-width: 100%;
box-sizing: border-box;
}
}
.ocr-scan-bits {
.ocr-fact-meta {
margin-top: 0.2em;
font-size: 85%;
font-size: 85%;
color: #72777d;
color: #54595d;
}
}
.ocr-wiki-page-name {
.ocr-review-actions {
display: block;
margin-top: 0.75em;
display: flex;
flex-wrap: wrap;
gap: 0.5em;
align-items: center;
}
.ocr-apply-btn {
font-weight: 600;
font-weight: 600;
margin-bottom: 0.2em;
}
}
.ocr-wiki-missing {
.ocr-dry-run {
color: #6b4c00;
margin: 0.35em 0 0;
padding: 0.55em 0.7em;
background: #f8f9fa;
border: 1px solid #a2a9b1;
}
}
.ocr-fact-store {
.ocr-dry-run ul {
display: none;
margin: 0.35em 0 0;
padding-left: 1.2em;
}
}
.ocr-row-outcome {
.ocr-seed-banner {
font-size: 95%;
margin: 0.5em 0;
line-height: 1.35;
padding: 0.45em 0.65em;
background: #fff8e6;
border: 1px solid #c8a84b;
}
}
.ocr-outcome-write {
.ocr-review-status {
background: #eaf5f0;
margin: 0.5em 0 0;
border: 1px solid #14866d;
font-size: 95%;
padding: 0.4em 0.55em;
flex: 1 1 100%;
}
}
.ocr-outcome-unmatched {
.ocr-apply-preview {
background: #fff8e0;
margin: 0.85em 0;
border: 1px solid #fc3;
padding: 0.55em 0.7em;
padding: 0.4em 0.55em;
background: #f0f6e8;
border: 1px solid #a3b18a;
}
}
.ocr-outcome-skip,
.ocr-apply-preview-list {
.ocr-outcome-idle {
margin: 0.35em 0 0;
color: #54595d;
padding-left: 1.2em;
}
}
.ocr-row-write-list {
.ocr-apply-preview-list li {
margin: 0;
margin: 0.2em 0;
padding-left: 1.15em;
}
}
.ocr-outcome-banner {
.ocr-advanced {
margin: 0 0 0.75em;
margin: 0.75em 0;
padding: 0.65em 0.8em;
padding: 0.4em 0.55em;
background: #eaf3ff;
border: 1px dashed #a2a9b1;
border: 1px solid #a2b7d2;
background: #f8f9fa;
}
}
.ocr-outcome-banner strong {
.ocr-advanced > summary {
display: block;
cursor: pointer;
margin-bottom: 0.2em;
font-weight: 600;
}
}
.ocr-preview-person {
.ocr-advanced-body {
margin: 0.35em 0;
margin-top: 0.5em;
}
}
.ocr-preview-person > ul {
.ocr-advanced-actions {
margin: 0.15em 0 0.35em 1.2em;
display: flex;
flex-wrap: wrap;
gap: 0.4em;
margin-top: 0.5em;
}
}
.ocr-preview-count {
.ocr-person-card {
margin: 0.35em 0 0.15em;
margin: 0.75em 0;
font-weight: 600;
padding: 0.65em 0.75em;
border: 1px solid #c8ccd1;
background: #fff;
border-radius: 2px;
}
}
.ocr-person-matched {
.ocr-roster-table {
border-left: 4px solid #14866d;
width: 100%;
border-collapse: collapse;
background: #fff;
font-size: 95%;
margin: 0.35em 0 0.75em;
}
}
.ocr-person-unresolved {
.ocr-roster-table th {
border-left: 4px solid #fc3;
text-align: left;
background: #fffdf5;
background: #3f4a3c;
color: #fff;
padding: 0.45em 0.55em;
font-weight: 600;
}
}
.ocr-group-heading {
.ocr-roster-table td {
margin: 1.1em 0 0.4em;
vertical-align: top;
font-size: 1.05em;
padding: 0.55em 0.6em;
border-bottom: 1px solid #c8ccd1;
border-bottom: 1px solid #eaecf0;
padding-bottom: 0.2em;
}
}
.ocr-card-step {
.ocr-roster-table tr.ocr-person-card {
font-size: 80%;
margin: 0;
text-transform: uppercase;
padding: 0;
letter-spacing: 0.04em;
border: 0;
color: #72777d;
border-left: 4px solid #c8ccd1;
margin-bottom: 0.35em;
border-radius: 0;
background: #fff;
}
}
.ocr-card-who,
.ocr-roster-table tr.ocr-person-matched {
.ocr-card-match,
border-left: 4px solid #14866d;
.ocr-card-update {
margin: 0.55em 0;
padding: 0.45em 0.55em;
background: #f8f9fa;
border: 1px solid #eaecf0;
}
}
.ocr-card-who-label {
.ocr-roster-table tr.ocr-person-unresolved {
font-size: 80%;
border-left: 4px solid #fc3;
background: #fffdf5;
}
.ocr-roster-table tr.ocr-person-done {
opacity: 1;
background: #f8f9fa;
border-left-color: #a2a9b1;
}
.ocr-roster-table .ocr-group-heading-row td {
background: #ece6da;
font-weight: 600;
font-weight: 600;
text-transform: uppercase;
border-bottom: 1px solid #c8ccd1;
letter-spacing: 0.03em;
padding-top: 0.75em;
color: #54595d;
}
margin-bottom: 0.25em;
.ocr-col-do {
width: 4.2em;
white-space: nowrap;
text-align: center;
}
.ocr-scan-name {
font-weight: 600;
font-size: 1.05em;
}
}
.ocr-card-hint {
.ocr-scan-bits {
margin: 0.35em 0 0;
margin-top: 0.2em;
font-size: 85%;
font-size: 85%;
color: #72777d;
color: #72777d;
}
}
.ocr-include-row {
.ocr-wiki-page-name {
display: flex;
display: block;
align-items: flex-start;
font-weight: 600;
gap: 0.4em;
margin-bottom: 0.2em;
margin: 0.35em 0;
}
.ocr-wiki-missing {
color: #6b4c00;
}
.ocr-fact-store {
display: none;
}
.ocr-row-outcome {
font-size: 95%;
font-size: 95%;
line-height: 1.35;
line-height: 1.35;
}
}
.ocr-person-done {
.ocr-outcome-write {
opacity: 0.88;
background: #eaf5f0;
border-left-color: #a2a9b1;
border: 1px solid #14866d;
padding: 0.4em 0.55em;
}
}
.ocr-fact-primary .ocr-change-line {
.ocr-outcome-unmatched {
font-weight: 500;
background: #fff8e0;
border: 1px solid #fc3;
padding: 0.4em 0.55em;
}
}
.ocr-card-name {
.ocr-outcome-skip,
font-weight: 600;
.ocr-outcome-idle {
font-size: 1.05em;
}
.ocr-card-meta,
.ocr-match-status {
font-size: 90%;
color: #54595d;
color: #54595d;
width: 100%;
}
}
.ocr-card-match {
.ocr-row-write-list {
margin: 0.35em 0 0.5em;
margin: 0;
padding-left: 1.15em;
}
}
.ocr-suggest {
.ocr-outcome-banner {
display: flex;
margin: 0 0 0.75em;
flex-direction: column;
padding: 0.65em 0.8em;
gap: 0.15em;
background: #eaf3ff;
margin: 0.25em 0 0.4em;
border: 1px solid #a2b7d2;
max-width: 100%;
border: 1px solid #a2a9b1;
background: #fff;
padding: 0.25em;
}
}
.ocr-suggest-item {
.ocr-outcome-banner strong {
display: block;
display: block;
width: 100%;
margin-bottom: 0.2em;
text-align: left;
border: 0;
background: transparent;
padding: 0.3em 0.4em;
cursor: pointer;
}
}
.ocr-suggest-item:hover {
.ocr-preview-person {
background: #eaecf0;
margin: 0.35em 0;
}
}
.ocr-card-changes {
.ocr-preview-person > ul {
margin-top: 0.25em;
margin: 0.15em 0 0.35em 1.2em;
}
}
.ocr-card-more {
.ocr-preview-count {
margin-top: 0.45em;
margin: 0.35em 0 0.15em;
font-size: 90%;
font-weight: 600;
}
}
.ocr-apply-success .ocr-apply-links {
.ocr-person-matched {
margin: 0.5em 0;
border-left: 4px solid #14866d;
padding-left: 1.2em;
}
}
.ocr-apply-success .ocr-apply-links li {
.ocr-person-unresolved {
margin: 0.35em 0;
border-left: 4px solid #fc3;
background: #fffdf5;
}
}
.ocr-queue-item {
.ocr-group-heading {
display: flex;
margin: 1.1em 0 0.4em;
flex-wrap: wrap;
font-size: 1.05em;
gap: 0.5em;
border-bottom: 1px solid #c8ccd1;
align-items: flex-start;
padding-bottom: 0.2em;
}
}
.ocr-queue-thumb {
.ocr-card-step {
width: 56px;
font-size: 80%;
height: 56px;
text-transform: uppercase;
object-fit: cover;
letter-spacing: 0.04em;
border: 1px solid #ccc;
color: #72777d;
background: #fff;
margin-bottom: 0.35em;
flex: 0 0 auto;
}
}
.ocr-queue-meta {
.ocr-card-who,
flex: 1 1 12em;
.ocr-card-match,
min-width: 0;
.ocr-card-update {
margin: 0.55em 0;
padding: 0.45em 0.55em;
background: #f8f9fa;
border: 1px solid #eaecf0;
}
}
.ocr-progress-wrap {
.ocr-card-who-label {
height: 8px;
font-size: 80%;
background: #eaecf0;
font-weight: 600;
border: 1px solid #a2a9b1;
text-transform: uppercase;
border-radius: 2px;
letter-spacing: 0.03em;
overflow: hidden;
color: #54595d;
margin: 0.4em 0 0.6em;
margin-bottom: 0.25em;
max-width: 28em;
}
}
.ocr-progress-bar {
.ocr-card-hint {
height: 100%;
margin: 0.35em 0 0;
width: 0;
font-size: 85%;
background: #3366cc;
color: #72777d;
transition: width 0.3s ease;
}
}
.ocr-page-picker {
.ocr-include-row {
display: flex;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0.5em;
gap: 0.4em;
margin: 0.35em 0;
font-size: 95%;
line-height: 1.35;
}
}
.ocr-page-item {
.ocr-person-done {
display: block;
opacity: 0.88;
font-size: 90%;
border-left-color: #a2a9b1;
background: #fff;
border: 1px solid #ccc;
padding: 0.35em;
}
}
.ocr-page-item img {
.ocr-fact-primary .ocr-change-line {
display: block;
font-weight: 500;
max-width: 100%;
height: auto;
margin-bottom: 0.25em;
}
}
.ocr-fact-group {
.ocr-card-name {
margin: 0.6em 0 0.9em;
font-weight: 600;
font-size: 1.05em;
}
}
.ocr-fact-group h4 {
.ocr-card-meta,
margin: 0 0 0.35em;
.ocr-match-status {
font-size: 1em;
font-size: 90%;
color: #54595d;
width: 100%;
}
}
.ocr-fact-already {
.ocr-card-match {
opacity: 0.78;
margin: 0.35em 0 0.5em;
background: #f3f4f5;
}
}
.ocr-identity-banner {
.ocr-suggest {
margin: 0.5em 0;
display: flex;
padding: 0.5em 0.65em;
flex-direction: column;
gap: 0.15em;
margin: 0.25em 0 0.4em;
max-width: 100%;
border: 1px solid #a2a9b1;
border: 1px solid #a2a9b1;
background: #f8f9fa;
background: #fff;
font-size: 95%;
padding: 0.25em;
}
}
.ocr-identity-warn {
.ocr-suggest-item {
border-color: #fc3;
background: #fff8e0;
}
.ocr-identity-ok {
border-color: #14866d;
background: #eaf5f0;
}
.ocr-doc-type,
.ocr-gallery-caption {
display: block;
display: block;
margin: 0.35em 0;
}
.ocr-gallery-caption {
width: 100%;
width: 100%;
box-sizing: border-box;
text-align: left;
border: 0;
background: transparent;
padding: 0.3em 0.4em;
cursor: pointer;
}
}
.ocr-force-identity {
.ocr-suggest-item:hover {
display: block;
background: #eaecf0;
margin-top: 0.4em;
color: #6b4c00;
}
}
.ocr-people-summary {
.ocr-card-changes {
margin: 0.4em 0;
margin-top: 0.25em;
padding: 0.45em 0.6em;
}
background: #eaf3ff;
.ocr-card-more {
border: 1px solid #a2b7d2;
margin-top: 0.45em;
font-size: 95%;
font-size: 90%;
}
.ocr-apply-success .ocr-apply-links {
margin: 0.5em 0;
padding-left: 1.2em;
}
.ocr-apply-success .ocr-apply-links li {
margin: 0.35em 0;
}
}
.ocr-multi-toolbar {
.ocr-queue-item {
display: flex;
display: flex;
flex-wrap: wrap;
flex-wrap: wrap;
gap: 0.4em;
gap: 0.5em;
margin: 0.4em 0 0.6em;
align-items: flex-start;
}
}
.ocr-person-title,
.ocr-queue-thumb {
.ocr-match-pick {
width: 56px;
width: 100%;
height: 56px;
max-width: 100%;
object-fit: cover;
box-sizing: border-box;
border: 1px solid #ccc;
margin: 0.25em 0 0.5em;
background: #fff;
flex: 0 0 auto;
}
}
.ocr-queue-list {
.ocr-queue-meta {
list-style: none;
flex: 1 1 12em;
margin: 0.5em 0;
min-width: 0;
padding: 0;
}
}
.ocr-queue-filters {
.ocr-progress-wrap {
display: flex;
height: 8px;
flex-wrap: wrap;
background: #eaecf0;
gap: 0.75rem 1.25rem;
border: 1px solid #a2a9b1;
border-radius: 2px;
overflow: hidden;
margin: 0.4em 0 0.6em;
margin: 0.4em 0 0.6em;
font-size: 0.92em;
max-width: 28em;
}
}
.ocr-queue-filters label {
.ocr-progress-bar {
display: inline-flex;
height: 100%;
align-items: center;
width: 0;
gap: 0.35em;
background: #3366cc;
cursor: pointer;
transition: width 0.3s ease;
}
}
.ocr-queue-clear {
.ocr-page-picker {
margin: 0 0 0.65em;
display: flex;
display: flex;
flex-wrap: wrap;
flex-direction: column;
gap: 0.5em;
gap: 0.5em;
align-items: center;
}
}
.ocr-force-multi-upload {
.ocr-page-item {
display: block;
display: block;
margin: 0.45em 0 0.6em;
font-size: 90%;
font-size: 0.92em;
}
.ocr-queue-list li {
margin: 0.35em 0;
padding: 0.4em 0.5em;
background: #fff;
background: #fff;
border: 1px solid #ddd;
border: 1px solid #ccc;
padding: 0.35em;
}
}
 
.ocr-page-item img {
/* Legacy person-group class kept for older cached markup */
display: block;
.ocr-person-group {
max-width: 100%;
margin: 0.75em 0;
height: auto;
padding: 0.5em 0.65em;
margin-bottom: 0.25em;
border: 1px solid #c8ccd1;
}
background: #fff;
.ocr-fact-group {
margin: 0.6em 0 0.9em;
}
}
.ocr-person-group h4 {
.ocr-fact-group h4 {
margin: 0 0 0.35em;
margin: 0 0 0.35em;
font-size: 1em;
font-size: 1em;
}
}
 
.ocr-fact-already {
.soldier-facts-box {
opacity: 0.78;
margin: 0.35em 0 0.85em;
background: #f3f4f5;
padding: 0.6em 1em;
}
.ocr-identity-banner {
margin: 0.5em 0;
padding: 0.5em 0.65em;
border: 1px solid #a2a9b1;
background: #f8f9fa;
background: #f8f9fa;
border: 1px solid #a2a9b1;
font-size: 95%;
max-width: none;
}
width: 100%;
.ocr-identity-warn {
box-sizing: border-box;
border-color: #fc3;
clear: both;
background: #fff8e0;
}
}
 
.ocr-identity-ok {
.soldier-facts-box > p {
border-color: #14866d;
margin: 0;
background: #eaf5f0;
line-height: 1.6;
}
}
 
.ocr-doc-type,
.soldier-summary-bar {
.ocr-gallery-caption {
margin: 0.85em 0 0 !important;
display: block;
padding-top: 0.75em;
margin: 0.35em 0;
border-top: 1px solid #c8ccd1;
}
}
 
.ocr-gallery-caption {
.soldier-facts-toggle {
width: 100%;
background: #3366cc;
box-sizing: border-box;
color: #fff;
border: 1px solid #3366cc;
border-radius: 2px;
padding: 0.15em 0.5em;
cursor: pointer;
font-size: inherit;
}
}
 
.ocr-force-identity {
.soldier-facts-toggle:hover {
display: block;
background: #2a4b8d;
margin-top: 0.4em;
color: #6b4c00;
}
}
 
.ocr-people-summary {
.soldier-facts-panel {
margin: 0.4em 0;
margin-top: 0.75em;
padding: 0.45em 0.6em;
background: #eaf3ff;
border: 1px solid #a2b7d2;
font-size: 95%;
}
}
 
.ocr-multi-toolbar {
.soldier-facts-identity {
display: flex;
font-weight: bold;
flex-wrap: wrap;
margin: 0 0 0.75em;
gap: 0.4em;
margin: 0.4em 0 0.6em;
}
}
 
.ocr-person-title,
.soldier-facts-group {
.ocr-match-pick {
border: 0;
width: 100%;
margin: 0 0 0.75em;
max-width: 100%;
padding: 0;
box-sizing: border-box;
margin: 0.25em 0 0.5em;
}
}
 
.ocr-queue-list {
.soldier-facts-group legend {
list-style: none;
font-weight: bold;
margin: 0.5em 0;
padding: 0;
padding: 0;
margin-bottom: 0.35em;
}
}
 
.ocr-queue-filters {
.soldier-facts-field {
display: flex;
margin: 0.35em 0;
flex-wrap: wrap;
gap: 0.75rem 1.25rem;
margin: 0.4em 0 0.6em;
font-size: 0.92em;
}
}
 
.ocr-queue-filters label {
.soldier-facts-field label {
display: inline-flex;
align-items: center;
gap: 0.35em;
cursor: pointer;
}
.ocr-queue-clear {
margin: 0 0 0.65em;
display: flex;
flex-wrap: wrap;
gap: 0.5em;
align-items: center;
}
.ocr-force-multi-upload {
display: block;
display: block;
font-size: 95%;
margin: 0.45em 0 0.6em;
margin-bottom: 0.15em;
font-size: 0.92em;
}
}
 
.ocr-queue-list li {
.soldier-facts-input {
margin: 0.35em 0;
width: 100%;
padding: 0.4em 0.5em;
max-width: 28em;
background: #fff;
box-sizing: border-box;
border: 1px solid #ddd;
}
}


.soldier-facts-actions {
/* Legacy person-group class kept for older cached markup */
margin-top: 0.5em;
.ocr-person-group {
margin: 0.75em 0;
padding: 0.5em 0.65em;
border: 1px solid #c8ccd1;
background: #fff;
}
.ocr-person-group h4 {
margin: 0 0 0.35em;
font-size: 1em;
}
}


.soldier-facts-cancel {
.soldier-facts-box {
margin-left: 0.35em;
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-lead {
.soldier-facts-box > p {
margin: 0 0 1em 0;
margin: 0;
line-height: 1.6;
}
}


.soldier-summary-toggle {
.soldier-summary-bar {
background: #f8f9fa;
margin: 0.85em 0 0 !important;
color: #202122;
padding-top: 0.75em;
border: 1px solid #a2a9b1;
border-top: 1px solid #c8ccd1;
}
 
.soldier-facts-toggle {
background: #3366cc;
color: #fff;
border: 1px solid #3366cc;
border-radius: 2px;
border-radius: 2px;
padding: 0.15em 0.5em;
padding: 0.15em 0.5em;
Line 1,473: Line 1,604:
}
}


.soldier-summary-panel {
.soldier-facts-toggle:hover {
background: #2a4b8d;
}
 
.soldier-facts-panel {
margin-top: 0.75em;
margin-top: 0.75em;
}
}


.soldier-summary-hint {
.soldier-facts-identity {
margin: 0 0 0.5em;
font-weight: bold;
font-size: 95%;
margin: 0 0 0.75em;
color: #54595d;
}
}


.soldier-summary-text {
.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%;
width: 100%;
max-width: 28em;
box-sizing: border-box;
box-sizing: border-box;
min-height: 8em;
font: inherit;
}
}


.soldier-summary-status {
.soldier-facts-actions {
margin: 0.5em 0 0;
margin-top: 0.5em;
font-size: 95%;
}
}


/* The Stories — photo galleries and captions */
.soldier-facts-cancel {
.story-gallery {
margin-left: 0.35em;
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;
.soldier-lead {
max-width: 18em;
margin: 0 0 1em 0;
text-align: center;
}
}
.story-gallery-item img,
 
.story-gallery-item .mw-file-element,
.soldier-summary-toggle {
.story-figure img,
background: #f8f9fa;
.story-figure .mw-file-element {
color: #202122;
display: block;
border: 1px solid #a2a9b1;
margin: 0 auto;
border-radius: 2px;
max-width: 100%;
padding: 0.15em 0.5em;
max-height: 20em;
cursor: pointer;
width: auto;
font-size: inherit;
height: auto;
object-fit: contain;
}
}
.story-figure {
 
margin: 0.75em auto 1.1em;
.soldier-summary-panel {
text-align: center;
margin-top: 0.75em;
max-width: 22em;
}
}
.story-caption {
 
font-size: 92%;
.soldier-summary-hint {
line-height: 1.35;
margin: 0 0 0.5em;
margin: 0.35em 0 0;
font-size: 95%;
color: #444;
color: #54595d;
}
}


/* Notable Ritchie Boys — slide-style portrait cards */
.soldier-summary-text {
.notable-slides {
width: 100%;
display: grid;
box-sizing: border-box;
grid-template-columns: repeat(auto-fill, minmax(14em, 1fr));
min-height: 8em;
gap: 1.15em 1em;
font: inherit;
margin: 1em 0 1.5em;
align-items: start;
}
}


.notable-slide-card {
.soldier-summary-status {
border: 1px solid #a2a9b1;
margin: 0.5em 0 0;
background: #f8f9fa;
font-size: 95%;
padding: 0.65em 0.7em 0.75em;
text-align: center;
}
}


.notable-slide-photo {
/* The Stories — photo galleries and captions */
margin: 0 0 0.55em;
.story-gallery {
line-height: 0;
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 {
.notable-slide-photo img,
flex: 0 1 16em;
.notable-slide-photo .mw-file-element {
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;
display: block;
margin: 0 auto;
margin: 0 auto;
max-width: 100%;
max-width: 100%;
max-height: 20em;
width: auto;
height: 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-slide-nophoto {
/* Notable Ritchie Boys — slide-style portrait cards */
display: flex;
.notable-slides {
align-items: center;
display: grid;
justify-content: center;
grid-template-columns: repeat(auto-fill, minmax(14em, 1fr));
min-height: 8em;
gap: 1.15em 1em;
background: #eaecf0;
margin: 1em 0 1.5em;
color: #54595d;
align-items: start;
font-size: 90%;
}
}


.notable-slide-name {
.notable-slide-card {
font-weight: bold;
border: 1px solid #a2a9b1;
font-size: 105%;
background: #f8f9fa;
line-height: 1.3;
padding: 0.65em 0.7em 0.75em;
margin: 0 0 0.25em;
text-align: center;
}
}


.notable-slide-meta {
.notable-slide-photo {
font-size: 90%;
margin: 0 0 0.55em;
color: #54595d;
line-height: 0;
margin: 0 0 0.35em;
}
}


.notable-slide-body ul {
.notable-slide-photo img,
margin: 0.35em 0 0;
.notable-slide-photo .mw-file-element {
padding-left: 1.2em;
display: block;
text-align: left;
margin: 0 auto;
font-size: 92%;
max-width: 100%;
line-height: 1.35;
height: auto;
}
}


.notable-slide-body li {
.notable-slide-nophoto {
margin: 0.15em 0;
display: flex;
align-items: center;
justify-content: center;
min-height: 8em;
background: #eaecf0;
color: #54595d;
font-size: 90%;
}
}


/* Soldier profile — compact photo gallery (not infobox-style thumbs).
.notable-slide-name {
   Stay in the text column beside the infobox; clearing created empty voids. */
font-weight: bold;
.soldier-gallery {
font-size: 105%;
margin: 0.5em 0 1em;
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;
clear: none;
overflow: auto;
overflow: auto;
Line 1,905: Line 2,099:
cursor: pointer;
cursor: pointer;
}
}
.yt-embed-play-icon {
.yt-embed-play-icon {
width: 0;
width: 0;
height: 0;
height: 0;
border-style: solid;
border-style: solid;
border-width: 8px 0 8px 14px;
border-width: 8px 0 8px 14px;
border-color: transparent transparent transparent #fff;
border-color: transparent transparent transparent #fff;
}
.yt-embed-playing {
background: #000;
}
.yt-embed-frame {
display: block;
width: 100%;
height: 100%;
border: 0;
}
.yt-embed-fallback {
margin: 0.5em 0 0;
font-size: 95%;
}
.yt-interview-next {
margin-top: 0.75em;
padding-top: 0.55em;
border-top: 1px solid #eaecf0;
font-size: 95%;
}
.yt-interview-next-label {
font-weight: 600;
margin-bottom: 0.2em;
}
.yt-interview-next-list {
margin: 0.15em 0 0 1.2em;
padding: 0;
}
.yt-interview-next-why {
color: #54595d;
font-size: 92%;
}
 
/* SoundCloud audio embeds (interview watchlist) */
.sc-embed {
position: relative;
margin: 0.75em 0 0.5em;
max-width: 640px;
background: #1a1a1a;
}
.sc-embed-poster,
.sc-embed.sc-embed-playing {
aspect-ratio: 16 / 9;
width: 100%;
background: linear-gradient(145deg, #2b2b2b 0%, #111 55%, #3a1a0a 100%);
}
.sc-embed-poster {
position: relative;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
margin: 0;
padding: 0;
border: 0;
}
.sc-embed-play {
display: flex;
align-items: center;
gap: 0.45em;
padding: 0.45em 0.9em 0.45em 0.6em;
border: 0;
border-radius: 4px;
background: #ff5500;
color: #fff;
font: inherit;
font-weight: 600;
cursor: pointer;
}
.sc-embed-play-icon {
width: 0;
height: 0;
border-style: solid;
border-width: 8px 0 8px 14px;
border-color: transparent transparent transparent #fff;
}
.sc-embed-playing {
background: #111;
}
.sc-embed-frame {
display: block;
width: 100%;
height: 100%;
border: 0;
}
.sc-embed-fallback {
margin: 0.5em 0 0;
font-size: 95%;
}
 
/* Aviary (Milken Archive et al.) audio/video embeds */
.aviary-embed {
position: relative;
margin: 0.75em 0 0.5em;
max-width: 720px;
background: #1a1a1a;
}
.aviary-embed-poster,
.aviary-embed.aviary-embed-playing {
aspect-ratio: 16 / 10;
width: 100%;
background: linear-gradient(145deg, #1e2a3a 0%, #111820 55%, #0a2030 100%);
}
.aviary-embed-poster {
position: relative;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
margin: 0;
padding: 0;
border: 0;
}
.aviary-embed-play {
display: flex;
align-items: center;
gap: 0.45em;
padding: 0.45em 0.9em 0.45em 0.6em;
border: 0;
border-radius: 4px;
background: #2f6fed;
color: #fff;
font: inherit;
font-weight: 600;
cursor: pointer;
}
.aviary-embed-play-icon {
width: 0;
height: 0;
border-style: solid;
border-width: 8px 0 8px 14px;
border-color: transparent transparent transparent #fff;
}
.aviary-embed-playing {
background: #111;
}
.aviary-embed-frame {
display: block;
width: 100%;
height: 100%;
border: 0;
}
.aviary-embed-fallback {
margin: 0.5em 0 0;
font-size: 95%;
}
 
/* Internet Archive embeds (Yiddish Book Center oral histories et al.) */
.ia-embed {
position: relative;
margin: 0.75em 0 0.5em;
max-width: 720px;
background: #1a1a1a;
}
.ia-embed-poster,
.ia-embed.ia-embed-playing {
aspect-ratio: 16 / 9;
width: 100%;
background: linear-gradient(145deg, #2b2b2b 0%, #111 55%, #1a2a3a 100%);
}
.ia-embed-poster {
position: relative;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
margin: 0;
padding: 0;
border: 0;
}
.ia-embed-play {
display: flex;
align-items: center;
gap: 0.45em;
padding: 0.45em 0.9em 0.45em 0.6em;
border: 0;
border-radius: 4px;
background: #2c5aa0;
color: #fff;
font: inherit;
font-weight: 600;
cursor: pointer;
}
.ia-embed-play-icon {
width: 0;
height: 0;
border-style: solid;
border-width: 8px 0 8px 14px;
border-color: transparent transparent transparent #fff;
}
.ia-embed-playing {
background: #111;
}
}
.yt-embed-playing {
.ia-embed-frame {
background: #000;
}
.yt-embed-frame {
display: block;
display: block;
width: 100%;
width: 100%;
Line 1,921: Line 2,304:
border: 0;
border: 0;
}
}
.yt-embed-fallback {
.ia-embed-fallback {
margin: 0.5em 0 0;
margin: 0.5em 0 0;
font-size: 95%;
font-size: 95%;
}
.yt-interview-next {
margin-top: 0.75em;
padding-top: 0.55em;
border-top: 1px solid #eaecf0;
font-size: 95%;
}
.yt-interview-next-label {
font-weight: 600;
margin-bottom: 0.2em;
}
.yt-interview-next-list {
margin: 0.15em 0 0 1.2em;
padding: 0;
}
.yt-interview-next-why {
color: #54595d;
font-size: 92%;
}
}