2026-06-21 14:00:47 +00:00

108 lines
2.5 KiB
CSS

@media (max-width: 768px) {
#permit-map { height: 350px; }
}
/* Container for the entire timeline */
.timeline {
position: relative;
padding-left: 2rem; /* Creates space for the vertical line and icons */
margin-top: 1rem;
}
/* The Vertical Line */
.timeline::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0.85rem; /* Centers the line behind the 32px icons */
width: 2px;
background-color: #dee2e6; /* Standard Bootstrap gray border */
z-index: 0;
}
/* Wrapper for each timeline event */
.timeline-item {
position: relative;
margin-bottom: 1.5rem;
}
/* The Circular Icons / Dots */
.timeline-icon {
position: absolute;
top: 0;
left: -2rem; /* Pulls the icon left to sit precisely on the vertical line */
width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1rem;
z-index: 1; /* Ensures icons sit above the vertical line */
}
/* The Event Content Box */
.timeline-content {
margin-left: 0.5rem; /* Pushes the card slightly away from the icon */
background-color: #fff;
transition: all 0.2s ease;
}
.timeline-content:hover {
box-shadow: 0 .5rem 1rem rgba(0,0,0,.08)!important;
}
/* Vertical Line */
.planning-stepper {
position: relative;
padding-left: 1.25rem;
}
.planning-stepper::before {
content: '';
position: absolute;
top: 6px;
bottom: 0;
left: 4px; /* Centers the line exactly under the dots */
width: 2px;
background-color: #e9ecef; /* Bootstrap light gray */
z-index: 0;
}
/* Individual Steps */
.stepper-item {
position: relative;
padding-bottom: 1.75rem;
}
.stepper-item:last-child {
padding-bottom: 0; /* Removes extra space at the bottom of the list */
}
/* The Dots */
.stepper-dot {
position: absolute;
left: -1.25rem;
top: 0.25rem;
width: 10px;
height: 10px;
border-radius: 50%;
z-index: 1;
background-color: #dee2e6; /* Default pending gray */
}
/* Dot States */
.stepper-dot.completed {
background-color: #20c997; /* Teal/Success green */
}
.stepper-dot.active {
background-color: #fd7e14; /* Orange */
box-shadow: 0 0 0 5px rgba(253, 126, 20, 0.15); /* Soft orange halo */
}
.stepper-dot.pending {
background-color: #e2e8f0; /* Muted gray */
}
/* Faded text state for pending items */
.stepper-item.pending .step-title,
.stepper-item.pending .step-desc {
opacity: 0.6;
}