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. 28, 2018
Sep. 29, 2017
Sep. 28, 2018
Sep. 29, 2017
Earnings Per Share [Abstract]        
Net income $ 9,866 $ 5,800 $ 25,173 $ 17,930
Weighted average common shares outstanding (in shares) 11,248 11,075 11,210 10,991
Add: Dilutive impact of stock options (in shares) 68 68 75 63
Add: Dilutive impact of restricted stock units (in shares) 90 129 95 114
Diluted weighted average common shares outstanding (in shares) 11,406 11,272 11,380 11,168
Earnings per share        
Basic (in dollars per share) $ 0.88 $ 0.52 $ 2.25 $ 1.63
Diluted (in dollars per share) $ 0.86 $ 0.51 $ 2.21 $ 1.61