         return CGAffineTransform(scaleX: self.backgroundTransformScale, y: self.backgroundTransformScale)
     }
 
-    // MARK: - iOS 7 Motion Effects (Private)
+    func updateContentViewAdditionalSafeAreaInsets() {
+        if #available(iOS 11.0, *) {
+            if var insets = self.contentViewController?.additionalSafeAreaInsets {
+                insets.top = self.contentViewContainer.frame.minY
+                let topSafeArea = self.view.safeAreaLayoutGuide.layoutFrame.minY
+                if insets.top > topSafeArea {
+                    insets.top = topSafeArea
+                } else if insets.top < 0.0 {
+                    insets.top = 0.0
+                }
+                self.contentViewController?.additionalSafeAreaInsets = insets
+            }
+        }
+    }
+
+    // MARK: - Motion Effects (Private)
 
     func addMenuViewControllerMotionEffects() {
         if self.parallaxEnabled {

        UIView.animate(withDuration: self.animationDuration, animations: {
            if self.scaleContentView {
                self.contentViewContainer.transform = CGAffineTransform(scaleX: self.contentViewScaleValue, y: self.contentViewScaleValue)
            } else {
                self.contentViewContainer.transform = .identity
            }


            if self.scaleContentView {
                self.contentViewContainer.transform = CGAffineTransform(scaleX: self.contentViewScaleValue, y: self.contentViewScaleValue)
                self.updateContentViewAdditionalSafeAreaInsets()
            } else {
                self.contentViewContainer.transform = .identity
            }
