Template:Country/styles.css
Appearance
/* =========================================================
ERINDAL COUNTRY PAGES
TemplateStyles stylesheet for country-specific components.
Shared Erindal article geometry remains in MediaWiki:Common.css.
========================================================= */
.country-page {
color: var(--country-ink, var(--ew-ink));
}
/* =========================================================
HERO
========================================================= */
.country-hero {
background: var(--country-deep, var(--ew-dark-2));
}
/* Do not show the blue missing-file link before the hero artwork is uploaded. */
.country-hero__overlay {
color: #fffaf2;
background:
linear-gradient(
180deg,
rgba(20, 12, 9, 0.06) 18%,
rgba(20, 12, 9, 0.88) 100%
),
linear-gradient(
90deg,
rgba(20, 12, 9, 0.52),
transparent 64%
);
}
.country-hero__eyebrow {
color: #efb879;
}
.country-hero__subtitle {
color: #eadcc9;
}
/* =========================================================
OVERVIEW
========================================================= */
.country-overview {
grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
}
.country-overview__lead > p:first-child::first-letter {
color: var(--country-accent, var(--ew-gold));
font-size: 3.7em;
line-height: 0.78;
}
/* =========================================================
QUICK FACTS
========================================================= */
.country-quickfacts {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.75rem;
margin-top: 1.4rem;
}
.country-quickfact {
min-height: 74px;
padding: 0.8rem 0.95rem;
border: 1px solid var(--country-line, var(--ew-border));
border-left: 4px solid var(--country-accent, var(--ew-gold));
border-radius: 8px;
background-color: var(--country-paper, var(--ew-paper-light));
background-image:
linear-gradient(
135deg,
rgba(255, 255, 255, 0.22),
rgba(112, 82, 61, 0.06)
);
box-shadow: 0 4px 12px rgba(63, 43, 31, 0.07);
}
.country-quickfact span {
display: block;
margin-bottom: 0.2rem;
color: var(--country-muted, #6f665d);
font-family: "Alegreya SC", Georgia, serif;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
/* =========================================================
COUNTRY RECORD
========================================================= */
.country-record {
border: 1px solid var(--country-line, var(--ew-border));
background: var(--country-paper, var(--ew-paper-light));
box-shadow: 0 10px 22px rgba(55, 37, 27, 0.13);
}
.country-record__heading {
color: #fff7ec;
background-color: var(--country-deep, var(--ew-dark-2));
background-image:
linear-gradient(
135deg,
rgba(255, 255, 255, 0.04),
rgba(74, 43, 32, 0.42)
);
}
.country-record__emblem,
.country-record__map {
padding: 1rem;
text-align: center;
}
.country-record__emblem img,
.country-record__map img {
max-width: 100%;
height: auto;
}
.country-record__row {
grid-template-columns: minmax(100px, 0.9fr) minmax(0, 1.3fr);
border-top: 1px solid var(--country-line, var(--ew-border));
}
.country-record__row span {
color: var(--country-muted, #6f665d);
}
/* =========================================================
HEADINGS
========================================================= */
.country-page h2 {
display: flex;
gap: 0.75rem;
align-items: center;
margin-top: 2.35rem;
border-bottom: 0;
color: var(--country-deep, var(--ew-dark-2));
font-family: "Alegreya SC", Georgia, serif;
font-size: 1.75rem;
font-weight: 700;
}
.country-page h2::after {
content: "";
flex: 1;
height: 1px;
background: var(--country-accent, var(--ew-gold));
opacity: 0.55;
}
.country-page h3 {
color: var(--country-accent, var(--ew-gold));
font-family: "Alegreya SC", Georgia, serif;
}
/* =========================================================
TEXT + IMAGE FEATURES
Images and text begin at the same vertical position.
Previously align-items:center vertically centred shorter
text beside tall images, causing the Faith/Military issue.
========================================================= */
.country-feature {
display: grid;
grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr);
gap: 1.5rem;
align-items: start;
margin: 1rem 0 1.75rem;
}
.country-feature--image-left {
grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.25fr);
}
.country-feature__text,
.country-feature__media {
align-self: start;
min-width: 0;
}
.country-feature__text > p:first-child {
margin-top: 0;
}
.country-feature__text > p:last-child {
margin-bottom: 0;
}
.country-feature__media {
overflow: hidden;
border-radius: 10px;
box-shadow: 0 8px 20px rgba(50, 33, 24, 0.16);
}
.country-feature__media img {
display: block;
width: 100%;
min-height: 230px;
object-fit: cover;
}
/* =========================================================
CARD GRIDS
========================================================= */
.country-card-grid--four {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.country-mini-card,
.country-place-card,
.country-person-card {
overflow: hidden;
border: 1px solid var(--country-line, var(--ew-border));
border-radius: 10px;
background: var(--country-paper, var(--ew-paper-light));
box-shadow: 0 5px 14px rgba(62, 42, 31, 0.08);
}
.country-mini-card,
.country-person-card {
padding: 1rem;
}
.country-mini-card h3,
.country-place-card h3,
.country-person-card h3 {
margin: 0 0 0.35rem;
font-size: 1.15rem;
}
.country-mini-card p,
.country-place-card p,
.country-person-card p {
margin: 0;
}
/* =========================================================
PLACE CARDS
========================================================= */
.country-place-card__body {
padding: 0.85rem 1rem;
}
.country-place-card .mw-file-description,
.country-place-card__image,
.country-place-card__image img {
display: block;
width: 100%;
height: 135px;
object-fit: cover;
}
/* Missing territory/city art should not leave a large empty image panel. */
.country-place-card a.new.country-place-card__image {
display: none !important;
}
/* =========================================================
PERSON CARDS
========================================================= */
.country-person-card {
text-align: center;
}
.country-person-card__portrait {
margin: -1rem -1rem 0.85rem;
overflow: hidden;
}
.country-person-card__portrait img {
display: block;
width: 100%;
height: 230px;
object-fit: cover;
object-position: center 20%;
}
/* =========================================================
FOREIGN RELATIONS
========================================================= */
.country-relations {
display: grid;
gap: 0.7rem;
}
.country-relations > div {
position: relative;
padding: 0.85rem 1rem;
border: 1px solid var(--country-line, var(--ew-border));
border-left: 4px solid var(--country-accent, var(--ew-gold));
border-radius: 8px;
background: rgba(245, 240, 230, 0.68);
}
.country-relations p {
margin: 0.3rem 0 0;
}
.relation {
display: inline-block;
margin-left: 0.65rem;
padding: 0.1rem 0.5rem;
border-radius: 999px;
color: #fff;
font-size: 0.76rem;
font-weight: 700;
vertical-align: 0.08em;
}
.relation--friendly {
background: #39715a;
}
.relation--guarded {
background: #6f6678;
}
.relation--uneasy {
background: #a06b2f;
}
.relation--tense {
background: #9a4f37;
}
.relation--hostile {
background: #7f3030;
}
/* =========================================================
MAIN ARTICLE / RELATED ARTICLE LINKS
========================================================= */
.country-mainlink,
.country-related {
margin: 0.8rem 0 1.2rem;
padding: 0.75rem 1rem;
border-left: 4px solid var(--country-accent, var(--ew-gold));
background:
linear-gradient(
90deg,
rgba(152, 77, 46, 0.11),
transparent
);
}
/* =========================================================
BASE MOBILE RECORD BEHAVIOUR
The shared responsive country grids remain in Common.css.
========================================================= */
@media (max-width: 760px) {
.country-record {
order: -1;
}
}
/* =========================================================
DESKTOP COUNTRY OVERVIEW
The Country Record floats to the right and the contents box
uses the left side while article text flows between them.
========================================================= */
@media (min-width: 951px) {
.country-page .country-overview {
display: block !important;
margin-bottom: 1.5rem !important;
}
.country-page .country-overview > .country-record {
float: right !important;
box-sizing: border-box !important;
width: 340px !important;
max-width: 34% !important;
margin: 0 0 1.5rem 2rem !important;
}
.country-page .country-overview__lead {
display: block !important;
min-width: 0 !important;
}
.country-page .toc,
.country-page #toc {
float: left !important;
clear: none !important;
box-sizing: border-box !important;
width: min(300px, 27%) !important;
max-width: 300px !important;
margin: 0 1.5rem 1.5rem 0 !important;
}
.country-page h2 {
clear: none !important;
min-width: 0 !important;
overflow: hidden;
}
.country-page::after {
display: block;
clear: both;
content: "";
}
}
/* =========================================================
HOUSE / CLAN HERALDRY
========================================================= */
.country-page .country-house-banner {
float: none !important;
display: flex;
flex-direction: column;
align-items: center;
box-sizing: border-box;
width: 100%;
max-width: none;
margin: 0.55rem auto 1.2rem;
padding: 0;
border: 0;
background: none;
box-shadow: none;
text-align: center;
}
.country-page .country-house-banner .mw-file-description,
.country-page .country-house-banner__image {
display: block;
margin: 0 auto;
}
.country-page .country-house-banner img {
display: block;
width: auto;
max-width: min(180px, 100%);
height: auto;
margin: 0 auto;
}
.country-page .country-house-banner__caption {
margin-top: 0.35rem;
color: var(--country-muted, #6f665d);
font-size: 0.9rem;
font-style: italic;
}
/* =========================================================
TABLET / MOBILE OVERVIEW
========================================================= */
@media (max-width: 950px) {
.country-page .country-overview {
display: block !important;
}
.country-page .country-record,
.country-page .toc,
.country-page #toc {
float: none !important;
clear: both !important;
box-sizing: border-box !important;
width: min(100%, 580px) !important;
max-width: 100% !important;
margin: 0 auto 1.5rem !important;
}
.country-page .country-house-banner img {
max-width: min(150px, 100%);
}
}