     public required init?(coder aDecoder: NSCoder) {
         super.init(coder: aDecoder)
         
-        self.fadeDuration = aDecoder.decodeFloat(forKey: "FadeDuration")
+        self.fadeDuration = aDecoder.decodeDouble(forKey: "FadeDuration")
         self.overlayImageView = aDecoder.decodeObject(forKey: "OverlayImageView") as! UIImageView // swiftlint:disable:this force_cast
         self.overlayImageView.frame = self.imageView!.frame
         self.overlayImageView.bounds = self.imageView!.bounds

    // MARK: - Variables
    
    /// The fade duration.
    public var fadeDuration: Float = 0
    
    /// The animation on highlighted status.
    open override var isHighlighted: Bool {

                self.addSubview(self.overlayImageView)
                self.overlayImageView.alpha = 0
                
                UIView.animate(withDuration: self.fadeDuration, animations: {
                    self.overlayImageView.alpha = 1
                })
            } else {
                UIView.animate(withDuration: self.fadeDuration, animations: {
                    self.overlayImageView.alpha = 0
                    }, completion: { completed in
                        if completed {
                            self.overlayImageView.removeFromSuperview()
                        }
