@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; }