     if animated {
       UIView.animate(withDuration: 0.3, delay: 0, options: .curveEaseInOut, animations: {
         self.updateCellState()
-      }, completion: nil)
+        
+        self.hideSeparator(value, animated: false)
+      }, completion: { _ in
+        
+      })
     } else {
       updateCellState()
+      hideSeparator(value, animated: false)
     }
   }
   

  open override func willMove(toSuperview newSuperview: UIView?) {
    super.willMove(toSuperview: newSuperview)
    
    topViewHeightConstraint?.constant = appearance.topViewHeight
    guard appearance.parallaxEnabled else { return }
    scalableViewBottomConstraint?.constant -= 2 * appearance.parallaxFactor
    scalableViewTopOffset = scalableViewTopConstraint?.constant ?? 0
    scalableViewBottomOffset = scalableViewBottomConstraint?.constant ?? 0
  }
  
  open override func layoutSubviews() {

  @IBOutlet public var scalableViewTopConstraint: NSLayoutConstraint!
  @IBOutlet public var scalableViewBottomConstraint: NSLayoutConstraint!
  
  @IBOutlet public var parallaxViewCenterConstraint: NSLayoutConstraint!
  @IBOutlet public var parallaxViewHeightConstraint: NSLayoutConstraint!
  
  @IBOutlet public var bottomView: UIView!
  @IBOutlet public var bottomViewHeightConstraint: NSLayoutConstraint!
  @IBOutlet public var bottomViewTopConstraint: NSLayoutConstraint!
  @IBOutlet public var bottomViewBottomConstraint: NSLayoutConstraint!
  
  // MARK: Internal properties
  var topSeparatorLine: UIView?
  var bottomSeparatorLine: UIView?
  
  // MARK: Private properties
  fileprivate var dimmingView: UIView!
  fileprivate var appearance: ElongationConfig {
    return ElongationConfig.shared
  }
  
  fileprivate var scalableViewTopOffset: CGFloat!
  fileprivate var scalableViewBottomOffset: CGFloat!
  
  // MARK: Constructor
  public override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
