Template:Accession/styles.css: Difference between revisions
Template page
More actions
Eloise Zomia (talk | contribs) No edit summary Tag: Reverted |
Eloise Zomia (talk | contribs) Undo revision 1113 by Eloise Zomia (talk) Tag: Undo |
||
| Line 1: | Line 1: | ||
/* | /* BOTANICAL THEMED CSS - Forest Greens & Earth Tones */ | ||
/* Research Database Header - Forest Green Theme */ | |||
/* | |||
.hero-header { | .hero-header { | ||
background: | background: #1a3b2e; | ||
border-radius: | border: 1px solid #2d5a47; | ||
border-radius: 3px; | |||
overflow: hidden; | overflow: hidden; | ||
box-shadow: 0 | box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); | ||
margin-bottom: | margin-bottom: 2rem; | ||
position: relative; | |||
} | } | ||
/* | /* Header with botanical color scheme */ | ||
.hero-top { | .hero-top { | ||
background: # | background: #0f2419; | ||
color: white; | color: white; | ||
padding: 1. | padding: 2rem 2rem 1.75rem 2rem; | ||
position: relative; | position: relative; | ||
border-bottom: 1px solid rgba(109, 154, 124, 0.2); | |||
} | } | ||
/* Enhanced Title Section with Metadata */ | |||
.title-section { | .title-section { | ||
margin-bottom: 1rem; | |||
position: relative; | |||
} | } | ||
/* Header badges row - compact single-line design */ | |||
.header-badges-row { | |||
margin-top: 1rem; | |||
} | |||
/* Responsive badge layout */ | |||
.header-badges-row > div { | |||
display: flex !important; | |||
gap: 0.5rem !important; | |||
flex-wrap: wrap !important; | |||
align-items: center !important; | |||
} | |||
/* Scientific title - now with better spacing */ | |||
.hero-title { | .hero-title { | ||
font-size: | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; | ||
font-weight: | font-size: 1.75rem; | ||
font-weight: 600; | |||
margin: 0 0 0.75rem 0; | margin: 0 0 0.75rem 0; | ||
line-height: 1.2; | line-height: 1.2; | ||
color: | color: #f8faf9; | ||
letter-spacing: -0.02em; | |||
width: 100%; | |||
} | } | ||
/* | /* Accession Metadata Section */ | ||
. | .accession-metadata { | ||
display: flex; | |||
flex-direction: column; | |||
gap: 0.5rem; | |||
margin-top: 0.75rem; | margin-top: 0.75rem; | ||
} | } | ||
.metadata-primary { | |||
. | display: flex; | ||
align-items: center; | |||
gap: 1rem; | |||
font-family: | flex-wrap: wrap; | ||
font-size: 0. | } | ||
.metadata-secondary { | |||
display: flex; | |||
align-items: center; | |||
gap: 0.5rem; | |||
flex-wrap: wrap; | |||
opacity: 0.9; | |||
} | |||
.accession-id { | |||
font-family: "SF Mono", Monaco, monospace; | |||
font-size: 0.85rem; | |||
color: #86efac; | |||
font-weight: 600; | font-weight: 600; | ||
background: rgba(134, 239, 172, 0.1); | |||
border: 1px solid | border: 1px solid rgba(134, 239, 172, 0.2); | ||
padding: 0.3rem 0.6rem; | |||
border-radius: 3px; | |||
letter-spacing: 0.02em; | |||
} | } | ||
/* Accession ID badge - | /* Accession ID badge - EXACT copy of working status badge pattern */ | ||
.accession-id-badge { | .accession-id-badge { | ||
background: # | background: rgba(134, 239, 172, 0.2) !important; | ||
color: #86efac !important; | |||
font-family: | border: 1px solid rgba(134, 239, 172, 0.4) !important; | ||
font-family: "SF Mono", Monaco, monospace !important; | |||
} | |||
.accession-id-badge::before { | |||
content: "#"; | |||
font-size: 0.7rem; | |||
opacity: 0.8; | |||
} | } | ||
/* Geographic badges - | /* Geographic badges - use status badge base with different colors */ | ||
.geographic-current { | .geographic-current { | ||
background: rgba(109, 154, 124, 0.3); | background: rgba(109, 154, 124, 0.3) !important; | ||
color: #f0f6f2 | color: #f0f6f2 !important; | ||
border: 1px solid rgba(109, 154, 124, 0.5) !important; | |||
border | |||
} | } | ||
| Line 77: | Line 111: | ||
content: "📍"; | content: "📍"; | ||
font-size: 0.7rem; | font-size: 0.7rem; | ||
} | } | ||
.geographic-parent { | .geographic-parent { | ||
background: rgba(109, 154, 124, 0.15); | background: rgba(109, 154, 124, 0.15) !important; | ||
color: # | color: #a3c4b0 !important; | ||
border | border: 1px solid rgba(109, 154, 124, 0.25) !important; | ||
} | |||
.collection-date { | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |||
font-size: 0.9rem; | |||
color: #c4d4cc; | |||
font-weight: 500; | |||
background: rgba(196, 212, 204, 0.08); | |||
border: 1px solid rgba(196, 212, 204, 0.15); | |||
padding: 0.3rem 0.7rem; | |||
border-radius: 3px; | |||
} | |||
.collector { | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |||
font-size: 0.8rem; | |||
color: #d4d4aa; | |||
font-weight: 500; | |||
} | |||
.affiliation { | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |||
font-size: 0.8rem; | |||
color: #a3c4b0; | |||
font-weight: 400; | |||
} | |||
.separator { | |||
color: #7a9682; | |||
font-weight: normal; | |||
user-select: none; | |||
} | |||
/* Geographic breadcrumb - Improved design */ | |||
.geographic-breadcrumb { | |||
margin-bottom: 1.25rem; | |||
position: relative; | |||
} | |||
.geographic-breadcrumb-label { | |||
font-family: "SF Mono", Monaco, monospace; | |||
font-size: 0.7rem; | |||
color: #a3c4b0; | |||
text-transform: uppercase; | |||
letter-spacing: 0.5px; | |||
margin-bottom: 0.75rem; | |||
display: block; | |||
} | |||
/* Breadcrumb container with better spacing */ | |||
.breadcrumb-trail { | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |||
font-size: 0.9rem; | |||
line-height: 1.4; | |||
display: flex; | |||
align-items: center; | |||
flex-wrap: wrap; | |||
gap: 0.5rem; | |||
} | |||
/* Individual breadcrumb items */ | |||
.breadcrumb-item { | |||
color: #c4d4cc; | |||
font-weight: 500; | |||
padding: 0.25rem 0.5rem; | |||
border-radius: 4px; | |||
transition: all 0.2s ease; | |||
text-decoration: none; | |||
position: relative; | |||
cursor: pointer; | |||
} | |||
/* Hover effects for navigation */ | |||
.breadcrumb-item:hover { | |||
color: #e8f0ec; | |||
background: rgba(164, 196, 176, 0.15); | |||
} | |||
/* Current page styling - last item is current */ | |||
.breadcrumb-item:last-child { | |||
color: #f0f6f2; | |||
font-weight: 600; | |||
background: rgba(164, 196, 176, 0.1); | |||
cursor: default; | |||
} | |||
.breadcrumb-item:last-child:hover { | |||
background: rgba(164, 196, 176, 0.1); | |||
color: #f0f6f2; | |||
} | |||
/* Separators with better contrast */ | |||
.breadcrumb-separator { | |||
color: #7a9682; | |||
font-size: 0.8rem; | |||
font-weight: normal; | |||
margin: 0 0.25rem; | |||
user-select: none; | |||
} | |||
/* Enhanced Status Section - Now with two columns */ | |||
.status-row { | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
gap: 2rem; | |||
flex-wrap: wrap; | |||
} | |||
.status-group { | |||
flex: 1; | |||
min-width: 200px; | |||
} | |||
.classification-group { | |||
flex: 1; | |||
min-width: 200px; | |||
text-align: right; | |||
} | |||
.status-section { | |||
margin-top: 1rem; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
gap: 1rem; | |||
} | |||
.status-label { | |||
font-family: "SF Mono", Monaco, monospace; | |||
font-size: 0.65rem; | |||
color: #a3c4b0; | |||
text-transform: uppercase; | |||
letter-spacing: 0.5px; | |||
margin-bottom: 0.5rem; | |||
display: block; | |||
} | |||
.status-badges { | |||
display: flex; | |||
flex-direction: row; | |||
gap: 0.5rem; | |||
align-items: center; | |||
flex-wrap: wrap; | |||
justify-content: flex-end; | |||
} | } | ||
. | /* Status badges - existing styling */ | ||
padding: 0. | .status-badge { | ||
padding: 0.3rem 0.7rem; | |||
border-radius: 4px; | border-radius: 4px; | ||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | ||
font-size: 0. | font-size: 0.75rem; | ||
font-weight: | font-weight: 600; | ||
text-align: center; | text-align: center; | ||
border: 1px solid transparent; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
gap: 0.3rem; | |||
white-space: nowrap; | |||
} | } | ||
.status-active { | .status-active { | ||
background: #16a34a; | background: #16a34a; | ||
| Line 114: | Line 291: | ||
} | } | ||
.status-tier1 { | .status-tier1 { | ||
background: #0891b2; | background: #0891b2; | ||
| Line 126: | Line 302: | ||
} | } | ||
/* | .status-priority { | ||
background: #dc2626; | |||
color: white; | |||
border-color: #b91c1c; | |||
} | |||
.status-priority::before { | |||
content: "!"; | |||
font-size: 0.8rem; | |||
font-weight: bold; | |||
} | |||
/* New Classification Badges */ | |||
.classification-badge { | |||
padding: 0.3rem 0.7rem; | |||
border-radius: 4px; | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |||
font-size: 0.75rem; | |||
font-weight: 600; | |||
text-align: center; | |||
border: 1px solid transparent; | |||
display: inline-flex; | |||
align-items: center; | |||
justify-content: center; | |||
gap: 0.3rem; | |||
white-space: nowrap; | |||
margin-right: 0.5rem; | |||
} | |||
.classification-landrace { | |||
background: #7c2d12; | |||
color: #fed7aa; | |||
border-color: #9a3412; | |||
} | |||
.classification-landrace::before { | |||
content: "🌱"; | |||
font-size: 0.7rem; | |||
} | |||
.classification-population { | |||
background: #581c87; | |||
color: #e9d5ff; | |||
border-color: #6b21a8; | |||
} | |||
.classification-population::before { | |||
content: "👥"; | |||
font-size: 0.7rem; | |||
} | |||
/* Technical data badges - Earth tones */ | |||
.hero-subtitle { | |||
font-family: "SF Mono", Monaco, Inconsolata, "Roboto Mono", "Courier New", monospace; | |||
font-size: 0.65rem; | |||
color: #d4d4aa; | |||
background: rgba(21, 41, 28, 0.8); | |||
border: 1px solid rgba(109, 154, 124, 0.3); | |||
padding: 0.3rem 0.6rem; | |||
border-radius: 2px; | |||
display: inline-block; | |||
margin-top: 0.75rem; | |||
font-weight: 500; | |||
text-transform: uppercase; | |||
letter-spacing: 0.5px; | |||
} | |||
/* Data visualization split - Warm natural backgrounds */ | |||
.hero-split { | .hero-split { | ||
display: table; | display: table; | ||
width: 100%; | width: 100%; | ||
table-layout: fixed; | table-layout: fixed; | ||
background: # | background: #faf8f5; | ||
border-top: 1px solid rgba(109, 154, 124, 0.2); | |||
} | } | ||
| Line 138: | Line 382: | ||
width: 50%; | width: 50%; | ||
vertical-align: top; | vertical-align: top; | ||
height: | height: 420px; | ||
position: relative; | position: relative; | ||
} | } | ||
.hero-image { | .hero-image { | ||
background: # | background: #f5f3f0; | ||
border-right: 1px solid # | border-right: 1px solid #d4c5b8; | ||
} | } | ||
.hero-image img { | .hero-image img { | ||
width: 100%; | width: 100%; | ||
height: | height: 420px; | ||
object-fit: cover; | object-fit: cover; | ||
} | } | ||
/* | /* Scientific placeholder - Earth tones */ | ||
.photo-placeholder { | .photo-placeholder { | ||
height: | height: 420px; | ||
background: # | background: #faf8f5; | ||
display: table; | display: table; | ||
width: 100%; | width: 100%; | ||
position: relative; | |||
} | } | ||
| Line 165: | Line 410: | ||
vertical-align: middle; | vertical-align: middle; | ||
text-align: center; | text-align: center; | ||
padding: | padding: 3rem; | ||
position: relative; | |||
} | } | ||
.placeholder-title { | .placeholder-title { | ||
font-size: 1. | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | ||
color: # | font-size: 1.25rem; | ||
font-weight: | color: #2f4538; | ||
margin-bottom: 0. | font-weight: 600; | ||
margin-bottom: 1rem; | |||
letter-spacing: -0.01em; | |||
} | } | ||
.placeholder-subtitle { | .placeholder-subtitle { | ||
font-size: | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | ||
color: # | font-size: 1rem; | ||
line-height: 1. | color: #5a6b5d; | ||
max-width: | line-height: 1.6; | ||
margin: 0 auto; | max-width: 65ch; | ||
margin: 0 auto 1.5rem; | |||
} | } | ||
/* | /* Technical image overlay - Forest green */ | ||
.image-overlay { | .image-overlay { | ||
position: absolute; | position: absolute; | ||
| Line 189: | Line 438: | ||
left: 0; | left: 0; | ||
right: 0; | right: 0; | ||
background: rgba( | background: rgba(15, 36, 25, 0.9); | ||
color: white; | color: white; | ||
padding: | padding: 1.25rem; | ||
} | } | ||
.image-caption { | .image-caption { | ||
font-family: "SF Mono", Monaco, monospace; | |||
font-size: 0.8rem; | font-size: 0.8rem; | ||
font-weight: | font-weight: 500; | ||
margin: 0; | margin: 0; | ||
line-height: 1. | line-height: 1.4; | ||
color: #e8f0ec; | |||
} | } | ||
/* | /* Map with warm natural container */ | ||
.hero-map { | .hero-map { | ||
background: # | background: #fefcfa; | ||
border: 1px solid #e5d5c8; | |||
position: relative; | |||
} | } | ||
.map-container { | .map-container { | ||
height: | height: 418px; | ||
background: # | width: calc(100% - 2px); | ||
display: | background: #f9f6f3; | ||
display: flex; | |||
text- | align-items: center; | ||
color: # | justify-content: center; | ||
font-family: monospace; | color: #6b7d6f; | ||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |||
font-size: 1rem; | |||
font-weight: 500; | |||
position: relative; | |||
} | |||
.lw-map { | |||
width: 100% !important; | |||
height: 418px !important; | |||
} | |||
/* Map overlay - Earth tone styling */ | |||
.accession-status { | |||
position: absolute; | |||
top: 1rem; | |||
left: 1rem; | |||
background: rgba(254, 252, 250, 0.95); | |||
border: 1px solid #d4c5b8; | |||
border-radius: 3px; | |||
padding: 0.75rem 1rem; | |||
box-shadow: 0 4px 12px rgba(47, 69, 56, 0.15); | |||
max-width: 220px; | |||
z-index: 1000; | |||
} | |||
.accession-status-title { | |||
font-family: "SF Mono", Monaco, monospace; | |||
font-size: 0.7rem; | |||
text-transform: uppercase; | |||
color: #78856b; | |||
font-weight: 600; | |||
margin-bottom: 0.4rem; | |||
letter-spacing: 0.5px; | |||
} | |||
.accession-status-value { | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |||
font-weight: 600; | |||
color: #2f4538; | |||
font-size: 0.85rem; | |||
margin-bottom: 0.25rem; | |||
line-height: 1.3; | |||
} | |||
.accession-status-note { | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |||
color: #78856b; | |||
font-size: 0.75rem; | |||
line-height: 1.3; | |||
} | |||
/* Coordinates with earth tone styling */ | |||
.coordinates { | |||
position: absolute; | |||
bottom: 1rem; | |||
right: 1rem; | |||
background: rgba(254, 252, 250, 0.95); | |||
color: #2f4538; | |||
padding: 0.5rem 0.75rem; | |||
border-radius: 3px; | |||
font-family: "SF Mono", Monaco, monospace; | |||
font-size: 0.75rem; | |||
font-weight: 500; | |||
line-height: 1; | |||
border: 1px solid #d4c5b8; | |||
cursor: pointer; | |||
transition: all 0.2s; | |||
} | |||
.coordinates:hover { | |||
background: #fefcfa; | |||
box-shadow: 0 2px 8px rgba(47, 69, 56, 0.15); | |||
} | |||
.coordinates::after { | |||
content: "📋"; | |||
margin-left: 0.5rem; | |||
opacity: 0.6; | |||
} | } | ||
/* | /* Details strip - Rich earth tone background */ | ||
.hero-details { | .hero-details { | ||
background: # | background: #3a5d4a; | ||
border-top: | border-top: 1px solid rgba(109, 154, 124, 0.3); | ||
padding: | padding: 0.75rem 1rem; | ||
display: flex; | display: flex; | ||
flex-wrap: | flex-wrap: nowrap; | ||
justify-content: | justify-content: space-evenly; | ||
gap: | gap: 0.75rem; | ||
position: relative; | |||
overflow-x: auto; | |||
} | } | ||
.detail-group { | .detail-group { | ||
min-width: 120px; | display: flex; | ||
flex-direction: column; | |||
min-width: 80px; | |||
max-width: 120px; | |||
text-align: center; | text-align: center; | ||
position: relative; | |||
flex-shrink: 0; | |||
} | } | ||
.detail-label { | .detail-label { | ||
font- | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | ||
font-size: 0.65rem; | |||
color: # | color: #a3c4b0; | ||
font-weight: | font-weight: 500; | ||
margin-bottom: 0.25rem; | margin-bottom: 0.25rem; | ||
letter-spacing: 0.02em; | |||
white-space: nowrap; | |||
} | } | ||
.detail-value { | .detail-value { | ||
font-size: | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | ||
font-weight: | font-size: 0.8rem; | ||
color: # | font-weight: 600; | ||
color: #f0f6f2; | |||
line-height: 1.2; | |||
white-space: nowrap; | |||
} | } | ||
.detail-value.highlight { | .detail-value.highlight { | ||
color: # | color: #86efac; | ||
} | |||
.detail-value .unit { | |||
margin-left: 0.125rem; | |||
} | |||
/* Map controls - Natural styling */ | |||
.leaflet-control { | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; | |||
} | |||
.leaflet-control-layers { | |||
background: rgba(254, 252, 250, 0.95) !important; | |||
border: 1px solid #d4c5b8 !important; | |||
border-radius: 3px !important; | |||
box-shadow: 0 4px 12px rgba(47, 69, 56, 0.15) !important; | |||
padding: 0.75rem !important; | |||
} | |||
.leaflet-control-zoom { | |||
border: 1px solid #d4c5b8 !important; | |||
border-radius: 3px !important; | |||
box-shadow: 0 2px 8px rgba(47, 69, 56, 0.1) !important; | |||
} | |||
.leaflet-control-zoom a { | |||
width: 30px !important; | |||
height: 30px !important; | |||
line-height: 30px !important; | |||
font-size: 16px !important; | |||
background: #fefcfa !important; | |||
color: #2f4538 !important; | |||
border: none !important; | |||
} | |||
.leaflet-control-zoom a:hover { | |||
background: #f9f6f3 !important; | |||
color: #1a3b2e !important; | |||
} | |||
/* Geographic badges - more muted than status badges */ | |||
.geographic-badge { | |||
padding: 0.3rem 0.7rem; | |||
border-radius: 4px; | |||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |||
font-size: 0.72rem; | |||
font-weight: 500; | |||
text-align: center; | |||
display: inline-block; | |||
margin-right: 0.3rem; | |||
text-decoration: none; | |||
transition: all 0.2s ease; | |||
/* Muted styling to differentiate from status badges */ | |||
background: rgba(109, 154, 124, 0.15); | |||
color: #a3c4b0; | |||
border: 1px solid rgba(109, 154, 124, 0.25); | |||
} | |||
.geographic-badge:hover { | |||
background: rgba(109, 154, 124, 0.25); | |||
color: #c4d4cc; | |||
cursor: pointer; | |||
} | } | ||
. | /* Current location badge - "you are here" not "task complete" */ | ||
.geographic-current { | |||
background: rgba(109, 154, 124, 0.3); | |||
color: #f0f6f2; | |||
font-weight: 600; | |||
border-color: rgba(109, 154, 124, 0.5); | |||
position: relative; | |||
} | |||
.geographic-current::before { | |||
content: "📍"; | |||
font-size: 0.7rem; | |||
margin-right: 0.3rem; | |||
} | |||
.geographic-current:hover { | |||
background: rgba(109, 154, 124, 0.3); | |||
color: #f0f6f2; | |||
cursor: default; | |||
} | |||
/* Hierarchy separators */ | |||
.geographic-separator { | |||
color: #7a9682; | |||
font-size: 0.8rem; | font-size: 0.8rem; | ||
margin: 0 0.4rem; | |||
font-weight: normal; | |||
user-select: none; | |||
} | } | ||
/* | /* Section separation */ | ||
. | .header-section { | ||
margin-bottom: 1.5rem; | |||
position: relative; | |||
} | } | ||
. | .header-section:not(:last-child)::after { | ||
content: ""; | |||
position: absolute; | |||
bottom: -0.75rem; | |||
left: 0; | |||
right: 0; | |||
height: 1px; | |||
background: rgba(109, 154, 124, 0.1); | |||
} | } | ||
. | /* Improved section labels */ | ||
.section-label { | |||
font-family: "SF Mono", Monaco, monospace; | |||
font-size: 0.65rem; | |||
color: #a3c4b0; | |||
text-transform: uppercase; | |||
letter-spacing: 0.5px; | |||
margin-bottom: 0.75rem; | |||
display: block; | |||
position: relative; | |||
} | } | ||
. | /* Geographic section gets different label styling */ | ||
.section-label.geographic { | |||
color: # | color: #7a9682; | ||
font-size: 0.6rem; | |||
} | } | ||
. | /* Status section gets emphasis */ | ||
color: # | .section-label.status { | ||
color: #a3c4b0; | |||
font-weight: 600; | |||
} | } | ||
. | /* Classification section gets warm tone */ | ||
.section-label.classification { | |||
color: #d4d4aa; | |||
font-weight: 500; | |||
} | } | ||
/* | /* Mobile responsiveness - Updated for new layout */ | ||
@media (max-width: 768px) { | @media (max-width: 768px) { | ||
.hero-top { | |||
padding: 1.5rem; | |||
} | |||
.hero-title { | |||
font-size: 1.5rem; | |||
margin-bottom: 1rem; | |||
} | |||
.accession-metadata { | |||
gap: 0.4rem; | |||
} | |||
.metadata-primary { | |||
gap: 0.75rem; | |||
} | |||
.status-row { | |||
flex-direction: column; | |||
gap: 1.5rem; | |||
} | |||
.classification-group { | |||
text-align: left; | |||
} | |||
.breadcrumb-trail { | |||
font-size: 0.8rem; | |||
flex-wrap: wrap; | |||
} | |||
.hero-split { | .hero-split { | ||
display: block; | display: block; | ||
| Line 306: | Line 772: | ||
display: block; | display: block; | ||
width: 100%; | width: 100%; | ||
height: | height: 320px; | ||
} | } | ||
.hero-map { | .hero-map { | ||
border-right: none; | border-right: none; | ||
border-top: 1px solid # | border-top: 1px solid #d4c5b8; | ||
} | } | ||
.photo-placeholder { | .photo-placeholder { | ||
height: | height: 320px; | ||
} | } | ||
.map-container { | .map-container { | ||
height: | height: 318px; | ||
} | } | ||
. | .lw-map { | ||
height: 318px !important; | |||
} | } | ||
.hero-details { | .hero-details { | ||
padding: 1rem | padding: 0.75rem 1rem; | ||
gap: | gap: 0.5rem; | ||
} | } | ||
.detail-group { | .detail-group { | ||
min-width: 100px; | min-width: 70px; | ||
max-width: 100px; | |||
} | } | ||
. | .accession-status { | ||
max-width: 180px; | |||
padding: 0.5rem 0.75rem; | |||
padding: | |||
} | } | ||
} | } | ||
Revision as of 13:00, 19 September 2025
/* BOTANICAL THEMED CSS - Forest Greens & Earth Tones */
/* Research Database Header - Forest Green Theme */
.hero-header {
background: #1a3b2e;
border: 1px solid #2d5a47;
border-radius: 3px;
overflow: hidden;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
margin-bottom: 2rem;
position: relative;
}
/* Header with botanical color scheme */
.hero-top {
background: #0f2419;
color: white;
padding: 2rem 2rem 1.75rem 2rem;
position: relative;
border-bottom: 1px solid rgba(109, 154, 124, 0.2);
}
/* Enhanced Title Section with Metadata */
.title-section {
margin-bottom: 1rem;
position: relative;
}
/* Header badges row - compact single-line design */
.header-badges-row {
margin-top: 1rem;
}
/* Responsive badge layout */
.header-badges-row > div {
display: flex !important;
gap: 0.5rem !important;
flex-wrap: wrap !important;
align-items: center !important;
}
/* Scientific title - now with better spacing */
.hero-title {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1.75rem;
font-weight: 600;
margin: 0 0 0.75rem 0;
line-height: 1.2;
color: #f8faf9;
letter-spacing: -0.02em;
width: 100%;
}
/* Accession Metadata Section */
.accession-metadata {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin-top: 0.75rem;
}
.metadata-primary {
display: flex;
align-items: center;
gap: 1rem;
flex-wrap: wrap;
}
.metadata-secondary {
display: flex;
align-items: center;
gap: 0.5rem;
flex-wrap: wrap;
opacity: 0.9;
}
.accession-id {
font-family: "SF Mono", Monaco, monospace;
font-size: 0.85rem;
color: #86efac;
font-weight: 600;
background: rgba(134, 239, 172, 0.1);
border: 1px solid rgba(134, 239, 172, 0.2);
padding: 0.3rem 0.6rem;
border-radius: 3px;
letter-spacing: 0.02em;
}
/* Accession ID badge - EXACT copy of working status badge pattern */
.accession-id-badge {
background: rgba(134, 239, 172, 0.2) !important;
color: #86efac !important;
border: 1px solid rgba(134, 239, 172, 0.4) !important;
font-family: "SF Mono", Monaco, monospace !important;
}
.accession-id-badge::before {
content: "#";
font-size: 0.7rem;
opacity: 0.8;
}
/* Geographic badges - use status badge base with different colors */
.geographic-current {
background: rgba(109, 154, 124, 0.3) !important;
color: #f0f6f2 !important;
border: 1px solid rgba(109, 154, 124, 0.5) !important;
}
.geographic-current::before {
content: "📍";
font-size: 0.7rem;
}
.geographic-parent {
background: rgba(109, 154, 124, 0.15) !important;
color: #a3c4b0 !important;
border: 1px solid rgba(109, 154, 124, 0.25) !important;
}
.collection-date {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 0.9rem;
color: #c4d4cc;
font-weight: 500;
background: rgba(196, 212, 204, 0.08);
border: 1px solid rgba(196, 212, 204, 0.15);
padding: 0.3rem 0.7rem;
border-radius: 3px;
}
.collector {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 0.8rem;
color: #d4d4aa;
font-weight: 500;
}
.affiliation {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 0.8rem;
color: #a3c4b0;
font-weight: 400;
}
.separator {
color: #7a9682;
font-weight: normal;
user-select: none;
}
/* Geographic breadcrumb - Improved design */
.geographic-breadcrumb {
margin-bottom: 1.25rem;
position: relative;
}
.geographic-breadcrumb-label {
font-family: "SF Mono", Monaco, monospace;
font-size: 0.7rem;
color: #a3c4b0;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 0.75rem;
display: block;
}
/* Breadcrumb container with better spacing */
.breadcrumb-trail {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 0.9rem;
line-height: 1.4;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.5rem;
}
/* Individual breadcrumb items */
.breadcrumb-item {
color: #c4d4cc;
font-weight: 500;
padding: 0.25rem 0.5rem;
border-radius: 4px;
transition: all 0.2s ease;
text-decoration: none;
position: relative;
cursor: pointer;
}
/* Hover effects for navigation */
.breadcrumb-item:hover {
color: #e8f0ec;
background: rgba(164, 196, 176, 0.15);
}
/* Current page styling - last item is current */
.breadcrumb-item:last-child {
color: #f0f6f2;
font-weight: 600;
background: rgba(164, 196, 176, 0.1);
cursor: default;
}
.breadcrumb-item:last-child:hover {
background: rgba(164, 196, 176, 0.1);
color: #f0f6f2;
}
/* Separators with better contrast */
.breadcrumb-separator {
color: #7a9682;
font-size: 0.8rem;
font-weight: normal;
margin: 0 0.25rem;
user-select: none;
}
/* Enhanced Status Section - Now with two columns */
.status-row {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 2rem;
flex-wrap: wrap;
}
.status-group {
flex: 1;
min-width: 200px;
}
.classification-group {
flex: 1;
min-width: 200px;
text-align: right;
}
.status-section {
margin-top: 1rem;
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 1rem;
}
.status-label {
font-family: "SF Mono", Monaco, monospace;
font-size: 0.65rem;
color: #a3c4b0;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 0.5rem;
display: block;
}
.status-badges {
display: flex;
flex-direction: row;
gap: 0.5rem;
align-items: center;
flex-wrap: wrap;
justify-content: flex-end;
}
/* Status badges - existing styling */
.status-badge {
padding: 0.3rem 0.7rem;
border-radius: 4px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 0.75rem;
font-weight: 600;
text-align: center;
border: 1px solid transparent;
display: flex;
align-items: center;
justify-content: center;
gap: 0.3rem;
white-space: nowrap;
}
.status-active {
background: #16a34a;
color: white;
border-color: #15803d;
}
.status-active::before {
content: "✓";
font-size: 0.7rem;
}
.status-tier1 {
background: #0891b2;
color: white;
border-color: #0e7490;
}
.status-tier1::before {
content: "●";
font-size: 0.6rem;
}
.status-priority {
background: #dc2626;
color: white;
border-color: #b91c1c;
}
.status-priority::before {
content: "!";
font-size: 0.8rem;
font-weight: bold;
}
/* New Classification Badges */
.classification-badge {
padding: 0.3rem 0.7rem;
border-radius: 4px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 0.75rem;
font-weight: 600;
text-align: center;
border: 1px solid transparent;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.3rem;
white-space: nowrap;
margin-right: 0.5rem;
}
.classification-landrace {
background: #7c2d12;
color: #fed7aa;
border-color: #9a3412;
}
.classification-landrace::before {
content: "🌱";
font-size: 0.7rem;
}
.classification-population {
background: #581c87;
color: #e9d5ff;
border-color: #6b21a8;
}
.classification-population::before {
content: "👥";
font-size: 0.7rem;
}
/* Technical data badges - Earth tones */
.hero-subtitle {
font-family: "SF Mono", Monaco, Inconsolata, "Roboto Mono", "Courier New", monospace;
font-size: 0.65rem;
color: #d4d4aa;
background: rgba(21, 41, 28, 0.8);
border: 1px solid rgba(109, 154, 124, 0.3);
padding: 0.3rem 0.6rem;
border-radius: 2px;
display: inline-block;
margin-top: 0.75rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.5px;
}
/* Data visualization split - Warm natural backgrounds */
.hero-split {
display: table;
width: 100%;
table-layout: fixed;
background: #faf8f5;
border-top: 1px solid rgba(109, 154, 124, 0.2);
}
.hero-image, .hero-map {
display: table-cell;
width: 50%;
vertical-align: top;
height: 420px;
position: relative;
}
.hero-image {
background: #f5f3f0;
border-right: 1px solid #d4c5b8;
}
.hero-image img {
width: 100%;
height: 420px;
object-fit: cover;
}
/* Scientific placeholder - Earth tones */
.photo-placeholder {
height: 420px;
background: #faf8f5;
display: table;
width: 100%;
position: relative;
}
.placeholder-content {
display: table-cell;
vertical-align: middle;
text-align: center;
padding: 3rem;
position: relative;
}
.placeholder-title {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 1.25rem;
color: #2f4538;
font-weight: 600;
margin-bottom: 1rem;
letter-spacing: -0.01em;
}
.placeholder-subtitle {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 1rem;
color: #5a6b5d;
line-height: 1.6;
max-width: 65ch;
margin: 0 auto 1.5rem;
}
/* Technical image overlay - Forest green */
.image-overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: rgba(15, 36, 25, 0.9);
color: white;
padding: 1.25rem;
}
.image-caption {
font-family: "SF Mono", Monaco, monospace;
font-size: 0.8rem;
font-weight: 500;
margin: 0;
line-height: 1.4;
color: #e8f0ec;
}
/* Map with warm natural container */
.hero-map {
background: #fefcfa;
border: 1px solid #e5d5c8;
position: relative;
}
.map-container {
height: 418px;
width: calc(100% - 2px);
background: #f9f6f3;
display: flex;
align-items: center;
justify-content: center;
color: #6b7d6f;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 1rem;
font-weight: 500;
position: relative;
}
.lw-map {
width: 100% !important;
height: 418px !important;
}
/* Map overlay - Earth tone styling */
.accession-status {
position: absolute;
top: 1rem;
left: 1rem;
background: rgba(254, 252, 250, 0.95);
border: 1px solid #d4c5b8;
border-radius: 3px;
padding: 0.75rem 1rem;
box-shadow: 0 4px 12px rgba(47, 69, 56, 0.15);
max-width: 220px;
z-index: 1000;
}
.accession-status-title {
font-family: "SF Mono", Monaco, monospace;
font-size: 0.7rem;
text-transform: uppercase;
color: #78856b;
font-weight: 600;
margin-bottom: 0.4rem;
letter-spacing: 0.5px;
}
.accession-status-value {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-weight: 600;
color: #2f4538;
font-size: 0.85rem;
margin-bottom: 0.25rem;
line-height: 1.3;
}
.accession-status-note {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
color: #78856b;
font-size: 0.75rem;
line-height: 1.3;
}
/* Coordinates with earth tone styling */
.coordinates {
position: absolute;
bottom: 1rem;
right: 1rem;
background: rgba(254, 252, 250, 0.95);
color: #2f4538;
padding: 0.5rem 0.75rem;
border-radius: 3px;
font-family: "SF Mono", Monaco, monospace;
font-size: 0.75rem;
font-weight: 500;
line-height: 1;
border: 1px solid #d4c5b8;
cursor: pointer;
transition: all 0.2s;
}
.coordinates:hover {
background: #fefcfa;
box-shadow: 0 2px 8px rgba(47, 69, 56, 0.15);
}
.coordinates::after {
content: "📋";
margin-left: 0.5rem;
opacity: 0.6;
}
/* Details strip - Rich earth tone background */
.hero-details {
background: #3a5d4a;
border-top: 1px solid rgba(109, 154, 124, 0.3);
padding: 0.75rem 1rem;
display: flex;
flex-wrap: nowrap;
justify-content: space-evenly;
gap: 0.75rem;
position: relative;
overflow-x: auto;
}
.detail-group {
display: flex;
flex-direction: column;
min-width: 80px;
max-width: 120px;
text-align: center;
position: relative;
flex-shrink: 0;
}
.detail-label {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 0.65rem;
color: #a3c4b0;
font-weight: 500;
margin-bottom: 0.25rem;
letter-spacing: 0.02em;
white-space: nowrap;
}
.detail-value {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 0.8rem;
font-weight: 600;
color: #f0f6f2;
line-height: 1.2;
white-space: nowrap;
}
.detail-value.highlight {
color: #86efac;
}
.detail-value .unit {
margin-left: 0.125rem;
}
/* Map controls - Natural styling */
.leaflet-control {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.leaflet-control-layers {
background: rgba(254, 252, 250, 0.95) !important;
border: 1px solid #d4c5b8 !important;
border-radius: 3px !important;
box-shadow: 0 4px 12px rgba(47, 69, 56, 0.15) !important;
padding: 0.75rem !important;
}
.leaflet-control-zoom {
border: 1px solid #d4c5b8 !important;
border-radius: 3px !important;
box-shadow: 0 2px 8px rgba(47, 69, 56, 0.1) !important;
}
.leaflet-control-zoom a {
width: 30px !important;
height: 30px !important;
line-height: 30px !important;
font-size: 16px !important;
background: #fefcfa !important;
color: #2f4538 !important;
border: none !important;
}
.leaflet-control-zoom a:hover {
background: #f9f6f3 !important;
color: #1a3b2e !important;
}
/* Geographic badges - more muted than status badges */
.geographic-badge {
padding: 0.3rem 0.7rem;
border-radius: 4px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 0.72rem;
font-weight: 500;
text-align: center;
display: inline-block;
margin-right: 0.3rem;
text-decoration: none;
transition: all 0.2s ease;
/* Muted styling to differentiate from status badges */
background: rgba(109, 154, 124, 0.15);
color: #a3c4b0;
border: 1px solid rgba(109, 154, 124, 0.25);
}
.geographic-badge:hover {
background: rgba(109, 154, 124, 0.25);
color: #c4d4cc;
cursor: pointer;
}
/* Current location badge - "you are here" not "task complete" */
.geographic-current {
background: rgba(109, 154, 124, 0.3);
color: #f0f6f2;
font-weight: 600;
border-color: rgba(109, 154, 124, 0.5);
position: relative;
}
.geographic-current::before {
content: "📍";
font-size: 0.7rem;
margin-right: 0.3rem;
}
.geographic-current:hover {
background: rgba(109, 154, 124, 0.3);
color: #f0f6f2;
cursor: default;
}
/* Hierarchy separators */
.geographic-separator {
color: #7a9682;
font-size: 0.8rem;
margin: 0 0.4rem;
font-weight: normal;
user-select: none;
}
/* Section separation */
.header-section {
margin-bottom: 1.5rem;
position: relative;
}
.header-section:not(:last-child)::after {
content: "";
position: absolute;
bottom: -0.75rem;
left: 0;
right: 0;
height: 1px;
background: rgba(109, 154, 124, 0.1);
}
/* Improved section labels */
.section-label {
font-family: "SF Mono", Monaco, monospace;
font-size: 0.65rem;
color: #a3c4b0;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 0.75rem;
display: block;
position: relative;
}
/* Geographic section gets different label styling */
.section-label.geographic {
color: #7a9682;
font-size: 0.6rem;
}
/* Status section gets emphasis */
.section-label.status {
color: #a3c4b0;
font-weight: 600;
}
/* Classification section gets warm tone */
.section-label.classification {
color: #d4d4aa;
font-weight: 500;
}
/* Mobile responsiveness - Updated for new layout */
@media (max-width: 768px) {
.hero-top {
padding: 1.5rem;
}
.hero-title {
font-size: 1.5rem;
margin-bottom: 1rem;
}
.accession-metadata {
gap: 0.4rem;
}
.metadata-primary {
gap: 0.75rem;
}
.status-row {
flex-direction: column;
gap: 1.5rem;
}
.classification-group {
text-align: left;
}
.breadcrumb-trail {
font-size: 0.8rem;
flex-wrap: wrap;
}
.hero-split {
display: block;
}
.hero-image, .hero-map {
display: block;
width: 100%;
height: 320px;
}
.hero-map {
border-right: none;
border-top: 1px solid #d4c5b8;
}
.photo-placeholder {
height: 320px;
}
.map-container {
height: 318px;
}
.lw-map {
height: 318px !important;
}
.hero-details {
padding: 0.75rem 1rem;
gap: 0.5rem;
}
.detail-group {
min-width: 70px;
max-width: 100px;
}
.accession-status {
max-width: 180px;
padding: 0.5rem 0.75rem;
}
}