     
     let omniBarStyle: OmniBar.Style = .home
     let showsUrlInOmniBar = false
+    var keyboardSize: CGRect? = nil
     
     var name: String? = UserText.homeLinkTitle
     var url: URL? = AppUrls.base

        self.miniOnboardingController = miniOnboardingController
        addChildViewController(miniOnboardingController)
        view.addSubview(miniOnboardingController.view)
    }
    
    private func dismissMiniOnboardingFlow() {

        miniOnboardingController = nil
    }
    
    private func addKeyboardObservers() {
        NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: .UIKeyboardWillShow, object: nil)
        NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: .UIKeyboardWillHide, object: nil)
    }
    
    private func removeKeyboardObservers() {
        NotificationCenter.default.removeObserver(self, name: .UIKeyboardWillShow, object: nil)
        NotificationCenter.default.removeObserver(self, name: .UIKeyboardWillHide, object: nil)
    }
    
    func keyboardWillShow(notification: NSNotification) {
        guard let keyboardInfo = notification.userInfo?[UIKeyboardFrameEndUserInfoKey] else { return }
        guard let keyboardValue = keyboardInfo as? NSValue else { return }
        let keyboardRect = keyboardValue.cgRectValue
        keyboardSize = keyboardRect
        refreshMiniOnboardingPosition()
    }
    
    private func refreshMiniOnboardingPosition() {
        if UIApplication.shared.statusBarOrientation.isLandscape, traitCollection.verticalSizeClass == .compact {
            centreMiniOnboardingScreen()
        } else if let keyboardRect = keyboardSize {
            floatMiniOnboaridngScreenAboveKeyboard(keyboardRect: keyboardRect)
        } else {
            centreMiniOnboardingScreen()
        }
    }
    
    func keyboardWillHide(notification: NSNotification) {
        keyboardSize = nil
    }
    
    private func centreMiniOnboardingScreen() {
