             UIView.animate(withDuration: 0.05, delay: 0.0, options: UIViewAnimationOptions.curveLinear, animations: { () -> Void in
                 self.closeButton.alpha = 0.0
                 self.captionLabel.alpha = 0.0
-                self.captionBackgroundView.alpha = 0.0
+                self.captionBackgroundView.backgroundColor = .clear
                 if self.visiblePageControl {
                     self.pageControl.alpha = 0.0
                 }

            imageViews.append(imageView)
        }
        
        // Page Control
        if visiblePageControl {
            view.addSubview(pageControl)
            layoutPageControl()
        }
        
        // Close Button
        if visibleCloseButton {
            view.addSubview(closeButton)
            layoutCloseButton()
        }

        // Caption Background
        view.addSubview(captionBackgroundView)
        
        // Caption
        captionBackgroundView.addSubview(captionLabel)
        layoutCaptionLabel()
        updateCaption()

        if width > height {
            statusBarHidden = true

                captionLabel.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 16.0),
                ].forEach { $0.isActive = true }
        }
        
        if let captionHeight = captionHeight {
            captionLabel.heightAnchor.constraint(equalToConstant: captionHeight).isActive = true
        }
    }
    
    func layoutCaptionBackgroundView() {
        captionBackgroundView.translatesAutoresizingMaskIntoConstraints = false
        [captionBackgroundView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
         captionBackgroundView.rightAnchor.constraint(equalTo: view.rightAnchor),
         captionBackgroundView.leftAnchor.constraint(equalTo: view.leftAnchor),
         captionBackgroundView.topAnchor.constraint(equalTo: captionLabel.topAnchor, constant: -16.0)
        ].forEach { $0.isActive = true }
    }

}
