     // MARK: - Private Interface Elements
 
     private let contentView = UIView()
+
+    private var containerBottomConstraint: NSLayoutConstraint!
 
     private var leadingConstraint: NSLayoutConstraint!
     private var trailingConstraint: NSLayoutConstraint!

        maxWidthConstraint.priority = .required
        maxWidthConstraint.isActive = true

        contentView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -12).isActive = true

        // Content Stack View



    }

    func bottomSpacingForCurrentLayout() -> CGFloat {

        let bottomInset: CGFloat

        if #available(iOS 11.0, *) {
            let safeBottomInset = view.safeAreaInsets.bottom
            bottomInset = safeBottomInset > 0 ? safeBottomInset : 12
        } else {
            bottomInset = 12
        }

        return -bottomInset

    }

    override func viewSafeAreaInsetsDidChange() {
        containerBottomConstraint.constant = bottomSpacingForCurrentLayout()
    }

    // MARK: - Touch Events

    @objc private func handleTap(recognizer: UITapGestureRecognizer) {
