             }
 
             if newValue {
-                showSearchFilterDropdown()
+                showSearchFilterDropdown(completion: { (done) in })
             } else {
-                hideSearchFilterDropdown()
+                hideSearchFilterDropdown(completion: { (done) in })
             }
             
             updateSearchFilterTitle()

        searchFilterListController.currentFilterType = currentSearchFilter
        self.view.addSubview(filterDropDownContainerView)
        
        UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [.allowUserInteraction], animations: {
            
            self.filterDropDownContainerView.frame = CGRect(x: self.filterDropDownContainerView.frame.origin.x,
                                                            y: self.filterDropDownContainerView.frame.origin.y,
                                                            width: self.filterDropDownContainerView.frame.size.width,
                                                            height: origHeight)
            
        }, completion: { (done) in })
    }
    
    fileprivate func hideSearchFilterDropdown() {
        
        let origHeight = filterDropDownContainerView.bounds.height
        
        self.touchOutsideOverlayView.removeFromSuperview()
        
        UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: [.allowUserInteraction], animations: {
            
            self.filterDropDownContainerView.frame = CGRect(x: self.filterDropDownContainerView.frame.origin.x,
                                                            y: self.filterDropDownContainerView.frame.origin.y,

        }, completion: { (done) in
            self.filterDropDownContainerView.removeFromSuperview()
            self.filterDropDownContainerView.frame.size.height = origHeight
            completion(done)
        })
    }
    
