html,
body {
height: 100%;
margin: 0;
padding: 0;
font-family: sans-serif;
color: #000;
a:link {
color: #222;
}
a:visited {
color: #1f661f;
}
}
#map {
width: 100%;
height: 100%;
}
/* Panel */
#trail-panel {
display: none;
position: fixed;
top: 50px;
left: 30px;
width: 300px;
background: #1f661f;
color: #e8e4dc;
border-radius: 6px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
z-index: 1000;
overflow: hidden;
}
#trail-panel.open {
display: block;
}
#close-btn {
position: absolute;
top: 8px;
right: 10px;
background: none;
border: none;
font-size: 20px;
cursor: pointer;
color: #ffffff;
line-height: 1;
z-index: 10;
}
#close-btn:hover {
color: #000;
}
/* Photo strip */
#photo-strip {
position: relative;
height: 160px;
background: #eee;
}
#photo-strip img {
width: 100%;
height: 100%;
object-fit: cover;
display: none;
}
#photo-strip img.active {
display: block;
}
.photo-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(0, 0, 0, 0.35);
color: white;
border: none;
width: 28px;
height: 28px;
border-radius: 50%;
cursor: pointer;
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
}
.photo-arrow:hover {
background: #eebc1d;
}
#prev-photo {
left: 8px;
}
#next-photo {
right: 8px;
}
.photo-dots {
position: absolute;
bottom: 7px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 5px;
}
.photo-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.5);
border: none;
cursor: pointer;
}
.photo-dot.active {
background: white;
}
/* Info */
#panel-body {
padding: 14px 16px 16px;
}
#panel-body h2 {
margin: 0 0 10px;
font-size: 17px;
}
.stats {
display: flex;
gap: 16px;
margin-bottom: 10px;
font-size: 13px;
color: #ffffff;
}
.stats span {
display: flex;
flex-direction: column;
}
.stats strong {
font-size: 15px;
color: #222;
}
#panel-body p {
margin: 0 0 12px;
font-size: 13px;
color: #222;
line-height: 1.5;
}
/* Editable fields */
.field-group {
margin-bottom: 10px;
}
.field-group label {
display: block;
font-size: 11px;
color: #888;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 3px;
}
.field-group input,
.field-group textarea {
width: 100%;
padding: 6px 8px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 13px;
font-family: sans-serif;
box-sizing: border-box;
resize: vertical;
}
.field-group input:focus,
.field-group textarea:focus {
border-color: #888;
outline: none;
}
.visit-link {
display: inline-block;
padding: 4px 10px;
background: #eebc1d;
color: #222;
border: none;
border-radius: 14px;
font-size: 13px;
font-weight: 600;
margin-right: 4px;
hover {
background: #edfbe2;
}
}
.visit-btn {
display: block;
width: 100%;
padding: 13px;
background: #eebc1d;
color: #222;
border: none;
border-radius: 10px;
font-family: "Source Sans 3", sans-serif;
font-size: 15px;
font-weight: 600;
cursor: pointer;
text-decoration: none;
text-align: center;
transition:
background 0.2s,
transform 0.15s;
margin-top: 8px;
}
.visit-btn:hover {
background: #40916c;
transform: translateY(-1px);
}
/* Legend */
.legend {
background: white;
padding: 10px;
border-radius: 5px;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
line-height: 1.5;
}
.legend h4 {
margin: 0 0 10px 0;
font-size: 16px;
font-weight: bold;
}
.legend img {
margin-right: 5px;
}
popupHtml {
font-family: "Source Sans 3", sans-serif;
font-size: 12px;
margin-top: 5px;
margin: 6px;
}