             let searchText = searchBar.text ?? ""
             if !searchText.wmf_hasNonWhitespaceText && recentSearches.count == 0 {
                 setupEmptySearchOverlayView()
-                emptySearchOverlayView.frame = searchSuggestionView.frame
+                emptySearchOverlayView.frame = UIEdgeInsetsInsetRect(searchSuggestionView.frame, searchSuggestionView.contentInset)
                 searchSuggestionView.superview?.addSubview(emptySearchOverlayView)
             } else {
                 emptySearchOverlayView.removeFromSuperview()

        alertController.popoverPresentationController?.barButtonItem = sender
        present(alertController, animated: true)
    }
    
    // MARK: - Keyboard
    
    @objc func keyboardChanged(notification: NSNotification) {
        guard let userInfo = notification.userInfo,
            let frameValue = userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue else {
                return
        }
        let keyboardScreenFrame = frameValue.cgRectValue
        var inset = searchSuggestionView.contentInset
        inset.bottom = keyboardScreenFrame.size.height
        searchSuggestionView.contentInset = inset
        
        let keyboardViewFrame = emptySearchOverlayView.convert(keyboardScreenFrame, from: (UIApplication.shared.delegate?.window)!)
        
        switch (notification.name) {
        case NSNotification.Name.UIKeyboardWillShow:
            let overlap = keyboardViewFrame.intersection(emptySearchOverlayView.frame)
            var newFrame = emptySearchOverlayView.frame
            newFrame.size.height -= overlap.height
            emptySearchOverlayView.frame = newFrame
            
        case NSNotification.Name.UIKeyboardWillHide:
            // reset the frame
            emptySearchOverlayView.frame = searchSuggestionView.frame
            
        default:
            DDLogWarn("unexpected notification \(notification.name)")
        }

        self.view.setNeedsLayout()
    }
    
    // MARK: - Map Region
    
    fileprivate func region(thatFits regionToFit: MKCoordinateRegion) -> MKCoordinateRegion {

            defaults.wmf_setPlacesHasAppeared(true)
        }

        
        guard WMFLocationManager.isAuthorized() else {
            if !defaults.wmf_placesDidPromptForLocationAuthorization() {
