Earnings Per Share - Reconciliation of Basic and Diluted Weighted Average Shares Outstanding (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 29, 2017
Sep. 30, 2016
Sep. 29, 2017
Sep. 30, 2016
Earnings Per Share [Abstract]        
Net income $ 5,800 $ 6,607 $ 17,930 $ 19,246
Weighted Average Number of Shares Outstanding Reconciliation [Abstract]        
Weighted average common shares outstanding - basic (in shares) 11,075 10,733 10,991 10,688
Add: Dilutive impact of stock options (in shares) 68 142 63 109
Add: Dilutive impact of restricted stock units (in shares) 129 186 114 169
Diluted weighted average common shares outstanding (in shares) 11,272 11,061 11,168 10,966
Basic earnings per share (in dollars per share) $ 0.52 $ 0.62 $ 1.63 $ 1.80
Diluted earnings per share (in dollars per share) $ 0.51 $ 0.60 $ 1.61 $ 1.76