Template:Main Page - styles/styles.css
Template page
More actions
/* ============================================ */
/* MAIN PAGE HEADER STYLES */
/* ============================================ */
.main-header-logo {
text-align: center;
padding: 3rem 1rem 2rem 1rem;
margin-bottom: 2rem;
background-color: #ffffff;
}
.logo-container {
text-align: center;
margin-bottom: 1.5rem;
}
.logo-container img {
max-width: 150px;
height: auto;
display: block;
margin: 0 auto;
}
.header-text {
max-width: 800px;
margin: 0 auto;
text-align: center;
}
.site-title {
font-family: 'Georgia', 'Times New Roman', serif;
font-size: 5rem;
font-weight: 400;
letter-spacing: -0.02em;
color: #2d5016;
margin: 1rem 0 1.5rem 0;
line-height: 1.1;
position: relative;
}
.site-title::after {
content: '';
display: block;
width: 100%;
height: 2px;
background-color: #2d5016;
margin: 1rem auto 0;
}
.main-tagline {
font-size: 1.25rem;
color: #2d5016;
font-weight: 600;
margin-bottom: 0.75rem;
margin-top: 1.5rem;
text-transform: uppercase;
letter-spacing: 1px;
max-width: 100%;
}
.sub-tagline {
font-size: 1rem;
color: #6c757d;
line-height: 1.5;
margin-bottom: 1rem;
}
.call-to-action {
font-size: 0.9rem;
color: #495057;
font-style: italic;
margin-bottom: 0;
}
/* ============================================ */
/* CONSERVATION PANEL - Mobile-Optimized */
/* ============================================ */
/* Panel shell */
.mw-parser-output .lw-cons-panel {
background: #fff;
border: 1px solid #e6ebea;
border-radius: 14px;
padding: 18px 18px 16px;
margin: 24px 0;
box-shadow: 0 1px 2px rgba(0,0,0,.03);
color: #26421a;
}
.mw-parser-output .lw-cons-title {
font-family: Georgia, "Times New Roman", serif;
font-size: 1.6rem;
line-height: 1.2;
margin: 4px 2px 14px;
}
/* KPIs - responsive 3-column to 1-column */
.mw-parser-output .lw-kpis {
display: flex;
gap: 12px;
flex-wrap: wrap;
margin: 4px 0 10px;
}
.mw-parser-output .lw-kpi {
flex: 1 1 180px;
background: #f8fbf7;
border: 1px solid #e6ebea;
border-radius: 10px;
padding: 12px 14px;
min-width: 0;
}
.mw-parser-output .lw-kpi__num {
font-size: 1.6rem;
font-weight: 700;
line-height: 1;
}
.mw-parser-output .lw-kpi__label {
font-size: .9rem;
color: #44613a;
margin-top: 6px;
word-wrap: break-word;
hyphens: auto;
}
/* Status bar - maintains proportions, readable labels */
.mw-parser-output .lw-statusbar {
display: flex;
height: 28px;
border-radius: 999px;
overflow: hidden;
border: 1px solid #e6ebea;
background: #f4f7f4;
margin: 8px 0;
}
.mw-parser-output .lw-statusbar .seg {
display: flex;
align-items: center;
justify-content: center;
font-size: .85rem;
font-weight: 600;
color: #17320f;
border-right: 1px solid rgba(0,0,0,.06);
min-width: 24px;
}
.mw-parser-output .lw-statusbar .seg:last-child {
border-right: none;
}
.mw-parser-output .seg--stable {
background: #e9f7ee;
}
.mw-parser-output .seg--vulnerable {
background: #fff6df;
}
.mw-parser-output .seg--endangered {
background: #ffeade;
}
.mw-parser-output .seg--critical {
background: #ffe3e3;
}
/* Legend - responsive wrapping with better touch targets */
.mw-parser-output .lw-legend {
display: flex;
flex-wrap: wrap;
gap: 14px 18px;
list-style: none;
padding: 10px 4px 4px;
margin: 0;
}
.mw-parser-output .lw-legend li {
display: flex;
align-items: center;
gap: 8px;
font-size: .92rem;
color: #35522b;
min-height: 28px;
}
.mw-parser-output .dot {
width: 10px;
height: 10px;
border-radius: 50%;
display: inline-block;
border: 1px solid rgba(0,0,0,.1);
flex-shrink: 0;
}
.mw-parser-output .dot--stable {
background: #2ecc71;
}
.mw-parser-output .dot--vulnerable {
background: #f1c40f;
}
.mw-parser-output .dot--endangered {
background: #f39c12;
}
.mw-parser-output .dot--critical {
background: #e74c3c;
}
/* ============================================ */
/* MOBILE BREAKPOINTS */
/* ============================================ */
@media (max-width: 480px) {
.mw-parser-output .lw-cons-panel {
padding: 16px 14px;
margin: 16px 0;
border-radius: 12px;
}
.mw-parser-output .lw-cons-title {
font-size: 1.4rem;
margin: 2px 0 12px;
}
/* Stack KPIs on very small screens */
.mw-parser-output .lw-kpis {
gap: 8px;
margin: 2px 0 12px;
}
.mw-parser-output .lw-kpi {
flex: 1 1 100%;
padding: 10px 12px;
}
.mw-parser-output .lw-kpi__num {
font-size: 1.4rem;
}
.mw-parser-output .lw-kpi__label {
font-size: .85rem;
margin-top: 4px;
}
/* Adjust status bar for small screens */
.mw-parser-output .lw-statusbar {
height: 24px;
margin: 6px 0;
}
.mw-parser-output .lw-statusbar .seg {
font-size: .8rem;
min-width: 20px;
}
/* Legend adjustments */
.mw-parser-output .lw-legend {
gap: 10px 14px;
padding: 8px 2px 2px;
}
.mw-parser-output .lw-legend li {
font-size: .88rem;
gap: 6px;
}
}
@media (max-width: 360px) {
.mw-parser-output .lw-cons-panel {
padding: 14px 12px;
margin: 12px 0;
}
/* Force single column for KPIs */
.mw-parser-output .lw-kpi {
flex-basis: 100%;
margin-bottom: 0;
}
/* Hide numbers in status bar if too cramped, keep colors visible */
.mw-parser-output .lw-statusbar .seg {
font-size: 0;
}
/* Compact legend */
.mw-parser-output .lw-legend {
gap: 8px 12px;
}
.mw-parser-output .lw-legend li {
font-size: .82rem;
}
}