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 |