     }
 
     private func styleLiveElements() {
-        liveImageView.tintColor = .liveGreenColor
+        // style live elements to be invisible before get live data
+        liveImageView.tintColor = .white
         liveLabel.font = UIFont(name: FontNames.SanFrancisco.Semibold, size: 14.0)
-        liveLabel.textColor = .liveGreenColor
+        liveLabel.textColor = .white
     }
 
     private func styleDepartureTime(){


        positionTravelTime()
        positionLiveElementsVertically(usingTravelTime: travelTimeLabel)
//        positionLiveElementsHorizontally(usingTravelTime: travelTimeLabel)
        positionDepartureTimeVertically(usingTravelTime: travelTimeLabel)
        positionArrowVertically(usingDepartureTime: departureTimeLabel)
        positionTopBorder()

        routeDiagram.removeFromSuperview()
        cellSeperator.removeFromSuperview()
        bottomBorder.removeFromSuperview()
        
        // make live elements invisible
        setLiveElements(withStartTime: nil, withDelay: nil)
    }

    // MARK: Set Data

    func setData(_ route: Route){
        setLiveElements(withDirections: route.directions)
        
        var isWalkingRoute = route.isWalkingRoute()

        setTravelTime(withDepartureTime: route.departureTime, withArrivalTime: route.arrivalTime, withWalkingRoute: isWalkingRoute)
        setDepartureTime(withTime: route.departureTime, withWalkingRoute: isWalkingRoute)

        routeDiagram.setData(withDirections: route.directions, withTravelDistance: route.travelDistance, withWalkingRoute: isWalkingRoute)
    }
    
    func getFirstDepartDirection(_ directions: [Direction]) -> Direction? {
        for direction in directions {
            if direction.type == .depart {
                return direction
            }
        }
        
        return nil
    }
    
    func setLiveElements(withDirections directions: [Direction]) {
        if let direction = getFirstDepartDirection(directions) {
            Network.getBusLocations(routeID: String(direction.routeNumber), tripID: direction.tripID, stopID: direction.startLocation.id)
                .perform(withSuccess: { (result) in
                    if let busLocation = result.busLocation {
                        
                        switch busLocation.dataType {
                            
                        case .validData:
                            self.setLiveElements(withStartTime: direction.startTime, withDelay: busLocation.delay)
                            
                        default:
                           self.setLiveElements(withStartTime: nil, withDelay: nil)
                            
                        }
                        
                    }
                    else {
                        self.setLiveElements(withStartTime: nil, withDelay: nil)
                    }
                    
                }) { (error) in
                     self.setLiveElements(withStartTime: nil, withDelay: nil)
                    
                }
        }
        else {
             self.setLiveElements(withStartTime: nil, withDelay: nil)
        }
    }

    private func setTravelTime(withDepartureTime departureTime: Date, withArrivalTime arrivalTime: Date, withWalkingRoute isWalkingRoute: Bool){
