 // MARK: - TableView 📚
 extension ElongationViewController {
   
+  /// Must call `super` if you override this method in subclass.
   open override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
     guard let cell = cell as? ElongationCell else { return }
     let expanded = state == .expanded
     cell.dim(expanded, animated: expanded)
-    changeOffset(of: cell)
+    cell.hideSeparator(expanded, animated: expanded)
+    
+    // 'Remove' separators from top and bottom cells
+    let numberOfRowsInSection = tableView.numberOfRows(inSection: indexPath.section)
+    if indexPath.row == 0 || indexPath.row == numberOfRowsInSection - 1 {
+      let separator = indexPath.row == 0 ? cell.topSeparatorLine : cell.bottomSeparatorLine
+      separator?.backgroundColor = UIColor.black
+    } else {
+      cell.topSeparatorLine?.backgroundColor = config.separatorColor
+      cell.bottomSeparatorLine?.backgroundColor = config.separatorColor
+    }
   }
   
   open override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

  override open func viewDidLoad() {
    super.viewDidLoad()
    setup()
  }
  
}

    // Fade in overlay view on visible cells except expanding one
    for case let elongationCell as ElongationCell in tableView.visibleCells where elongationCell != cell {
      elongationCell.dim(shouldExpand)
      elongationCell.hideSeparator(shouldExpand, animated: animated)
    }

    if !animated {
