|
|
| (2 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| /* OOO infobox — TemplateStyles + night-mode friendly | | /* ========================================================= |
| - Uses skin tokens with fallbacks | | OOO INFOBOX — Clean Industrial Style |
| - Sets color whenever background is set
| | Matches OOO wiki design system |
| - Keeps border colors as literals to avoid TemplateStyles color warnings | | ========================================================= */ |
| */ | |
|
| |
|
| /* Base box */
| |
| .ooo-infobox { | | .ooo-infobox { |
| width: 280px; | | width: 300px; |
| border-width: 1px; | | border-collapse: collapse; |
| border-style: solid;
| | font-size: 0.92rem; |
| border-color: #a2a9b1; /* literal to avoid linter warning */
| | |
| border-collapse: separate;
| | background: transparent; |
| border-spacing: 0; | | color: inherit; |
| background: var(--background-color-base, #ffffff); | | |
| color: var(--color-base, #202122); | | float: right; |
| font-size: 90%;
| | clear: right; |
| box-shadow: 0 2px 10px rgba(0,0,0,.08); | | margin: 0 0 1em 1em; |
| border-radius: 12px; | |
| overflow: hidden; | |
| } | | } |
|
| |
|
| /* Links (optional; remove to let skin handle them) */ | | /* --------------------------------------------------------- |
| .ooo-infobox a { color: var(--color-progressive, #36c); }
| | TITLE |
| .ooo-infobox a:hover { color: var(--color-progressive--hover, #447ff5); }
| | --------------------------------------------------------- */ |
|
| |
|
| /* Title bar */
| | .ooo-infobox__title { |
| .ooo-infobox .ooo-infobox__title {
| |
| text-align: center; | | text-align: center; |
| font-weight: 800; | | font-weight: 800; |
| font-size: 112%; | | font-size: 1.1rem; |
| letter-spacing: .2px; | | letter-spacing: 0.3px; |
| background: var(--background-color-neutral, #f5f5f5); | | |
| color: #cea141; /* NMC accent */ | | padding-bottom: 10px; |
| padding: 12px 10px; | | margin-bottom: 8px; |
| border-top: 1px solid #a2a9b1; /* literal */
| | |
| border-bottom: 1px solid #a2a9b1; /* literal */ | | color: var(--ooo-accent); |
| | |
| | border-bottom: 2px solid var(--ooo-border); |
| } | | } |
|
| |
|
| /* Image region */ | | /* --------------------------------------------------------- |
| .ooo-infobox .ooo-infobox__image {
| | IMAGE |
| | --------------------------------------------------------- */ |
| | |
| | .ooo-infobox__image { |
| text-align: center; | | text-align: center; |
| padding: 12px; | | padding: 8px 0 12px 0; |
| background: var(--background-color-neutral-subtle, #f8f9fa);
| |
| color: var(--color-base, #202122);
| |
| } | | } |
| .ooo-infobox .ooo-infobox__image img {
| | |
| | .ooo-infobox__image img { |
| max-width: 100%; | | max-width: 100%; |
| height: auto; | | height: auto; |
| } | | } |
|
| |
|
| /* Caption */ | | /* --------------------------------------------------------- |
| .ooo-infobox .ooo-infobox__caption {
| | CAPTION |
| | --------------------------------------------------------- */ |
| | |
| | .ooo-infobox__caption { |
| text-align: center; | | text-align: center; |
| font-style: italic; | | font-size: 0.85rem; |
| color: var(--color-subtle, #54595d); | | margin-bottom: 12px; |
| padding: 8px 12px 12px;
| | opacity: 0.8; |
| line-height: 1.35; | |
| background: var(--background-color-neutral-subtle, #f8f9fa);
| |
| border-bottom: 1px solid #a2a9b1; /* literal */
| |
| } | | } |
|
| |
|
| /* Table rows/cells */ | | /* --------------------------------------------------------- |
| | TABLE CELLS |
| | --------------------------------------------------------- */ |
| | |
| .ooo-infobox th, | | .ooo-infobox th, |
| .ooo-infobox td { | | .ooo-infobox td { |
| padding: 9px 12px; | | padding: 6px 4px; |
| vertical-align: top; | | vertical-align: top; |
| } | | } |
| | |
| .ooo-infobox th { | | .ooo-infobox th { |
| width: 46%; | | text-align: left; |
| font-weight: 600; | | font-weight: 600; |
| color: var(--color-emphasized, #101418); | | width: 48%; |
| | opacity: 0.9; |
| } | | } |
|
| |
|
| /* Zebra striping (set color alongside background) */
| | .ooo-infobox td { |
| .ooo-infobox tr:nth-child(even) td, | | text-align: right; |
| .ooo-infobox tr:nth-child(even) th {
| |
| background: var(--background-color-neutral-subtle, #f8f9fa); | |
| color: var(--color-base, #202122);
| |
| } | | } |
|
| |
|
| /* Group headers */ | | /* --------------------------------------------------------- |
| | GROUP HEADERS |
| | --------------------------------------------------------- */ |
| | |
| .ooo-infobox__group th { | | .ooo-infobox__group th { |
| text-align: center; | | padding-top: 14px; |
| | padding-bottom: 4px; |
| | |
| | font-size: 0.85rem; |
| font-weight: 800; | | font-weight: 800; |
| padding: 10px 12px; | | letter-spacing: 0.3px; |
| background: var(--background-color-neutral, #eaecf0); | | text-transform: uppercase; |
| color: var(--color-base, #202122); | | |
| border-top: 1px solid #a2a9b1; /* literal */
| | color: var(--ooo-accent); |
| border-bottom: 1px solid #a2a9b1; /* literal */
| |
| }
| |
|
| |
|
| /* Helper text */
| | border-bottom: 1px solid var(--ooo-border); |
| .ooo-infobox .ooo-infobox__muted {
| |
| color: var(--color-subtle, #54595d);
| |
| } | | } |
|
| |
|
| /* --------- Night mode: forced (explicit user toggle) --------- | | /* --------------------------------------------------------- |
| Wrapped in @media screen to avoid affecting print styles. | | MUTED TEXT |
| */
| | --------------------------------------------------------- */ |
| @media screen {
| |
| html.skin-theme-clientpref-night .ooo-infobox {
| |
| border-color: #3a3a3a; /* literals for borders */
| |
| background: var(--background-color-base, #1b1b1d);
| |
| color: var(--color-base, #eaecf0);
| |
| }
| |
| html.skin-theme-clientpref-night .ooo-infobox a {
| |
| color: var(--color-progressive, #6aa9ff);
| |
| }
| |
| html.skin-theme-clientpref-night .ooo-infobox a:hover {
| |
| color: var(--color-progressive--hover, #8fbdff);
| |
| }
| |
|
| |
|
| html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__title {
| | .ooo-infobox__muted { |
| background: var(--background-color-neutral, #252527);
| | opacity: 0.7; |
| color: #cea141;
| | } |
| border-top-color: #3a3a3a;
| |
| border-bottom-color: #3a3a3a;
| |
| }
| |
| | |
| html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__image,
| |
| html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__caption,
| |
| html.skin-theme-clientpref-night .ooo-infobox tr:nth-child(even) td, | |
| html.skin-theme-clientpref-night .ooo-infobox tr:nth-child(even) th {
| |
| background: var(--background-color-neutral-subtle, #222325);
| |
| color: var(--color-base, #eaecf0);
| |
| }
| |
|
| |
|
| html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__caption,
| | /* --------------------------------------------------------- |
| html.skin-theme-clientpref-night .ooo-infobox__group th {
| | ALIGNMENT OPTIONS |
| border-bottom-color: #3a3a3a;
| | --------------------------------------------------------- */ |
| }
| |
|
| |
|
| html.skin-theme-clientpref-night .ooo-infobox__group th {
| | .ooo-infobox--left { |
| background: var(--background-color-neutral, #2a2b2e);
| | float: left; |
| color: var(--color-base, #eaecf0);
| | clear: left; |
| border-top-color: #3a3a3a;
| | margin: 0 1em 1em 0; |
| }
| | } |
|
| |
|
| html.skin-theme-clientpref-night .ooo-infobox th {
| | .ooo-infobox--none { |
| color: var(--color-emphasized, #f1f2f3);
| | float: none; |
| } | | margin: 0 0 1em 0; |
| html.skin-theme-clientpref-night .ooo-infobox .ooo-infobox__muted {
| |
| color: var(--color-subtle, #a2a9b1);
| |
| }
| |
| } | | } |
|
| |
|
| /* --------- Night mode: automatic (follow OS preference) --------- */
| | .ooo-infobox--center { |
| @media (prefers-color-scheme: dark) {
| | float: none; |
| html.skin-theme-clientpref-os .ooo-infobox {
| | margin: 0 auto 1em; |
| border-color: #3a3a3a;
| |
| background: var(--background-color-base, #1b1b1d);
| |
| color: var(--color-base, #eaecf0);
| |
| }
| |
| html.skin-theme-clientpref-os .ooo-infobox a {
| |
| color: var(--color-progressive, #6aa9ff);
| |
| }
| |
| html.skin-theme-clientpref-os .ooo-infobox a:hover { | |
| color: var(--color-progressive--hover, #8fbdff);
| |
| } | |
| | |
| html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__title {
| |
| background: var(--background-color-neutral, #252527);
| |
| color: #cea141;
| |
| border-top-color: #3a3a3a;
| |
| border-bottom-color: #3a3a3a;
| |
| }
| |
| | |
| html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__image,
| |
| html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__caption,
| |
| html.skin-theme-clientpref-os .ooo-infobox tr:nth-child(even) td,
| |
| html.skin-theme-clientpref-os .ooo-infobox tr:nth-child(even) th {
| |
| background: var(--background-color-neutral-subtle, #222325);
| |
| color: var(--color-base, #eaecf0);
| |
| }
| |
| | |
| html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__caption,
| |
| html.skin-theme-clientpref-os .ooo-infobox__group th {
| |
| border-bottom-color: #3a3a3a;
| |
| }
| |
| | |
| html.skin-theme-clientpref-os .ooo-infobox__group th {
| |
| background: var(--background-color-neutral, #2a2b2e);
| |
| color: var(--color-base, #eaecf0);
| |
| border-top-color: #3a3a3a;
| |
| }
| |
| | |
| html.skin-theme-clientpref-os .ooo-infobox th {
| |
| color: var(--color-emphasized, #f1f2f3);
| |
| }
| |
| html.skin-theme-clientpref-os .ooo-infobox .ooo-infobox__muted {
| |
| color: var(--color-subtle, #a2a9b1);
| |
| }
| |
| } | | } |
|
| |
|
| /* Default: float right */ | | /* --------------------------------------------------------- |
| .ooo-infobox { float: right; clear: right; margin: 0 0 1em 1em; }
| | MOBILE |
| | --------------------------------------------------------- */ |
|
| |
|
| /* Overrides (use via |align=...) */
| |
| .ooo-infobox--left { float: left; clear: left; margin: 0 1em 1em 0; }
| |
| .ooo-infobox--none { float: none; margin: 0 0 1em 0; }
| |
| .ooo-infobox--center { float: none; margin: 0 auto 1em; display: block; }
| |
|
| |
| /* Mobile: unfloat so it doesn’t squeeze text */
| |
| @media (max-width: 640px) { | | @media (max-width: 640px) { |
| .ooo-infobox, | | .ooo-infobox, |
| .ooo-infobox--left, | | .ooo-infobox--left, |
| .ooo-infobox--none, | | .ooo-infobox--none, |
| .ooo-infobox--center { float: none; margin: 0 0 1em 0; width: 100%; } | | .ooo-infobox--center { |
| | float: none; |
| | width: 100%; |
| | margin: 0 0 1em 0; |
| | } |
| } | | } |