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
Apr. 03, 2020
Mar. 29, 2019
Earnings Per Share [Abstract]    
Net income $ 8,668 $ 7,074
Weighted average common shares outstanding (in shares) 11,545 11,292
Add: Dilutive impact of stock options (in shares) 41 29
Add: Dilutive impact of restricted stock units (in shares) 159 78
Diluted weighted average common shares outstanding (in shares) 11,745 11,399
Earnings per share    
Basic (in dollars per share) $ 0.75 $ 0.63
Diluted (in dollars per share) $ 0.74 $ 0.62