Description of Business and Summary of Significant Accounting Policies - Condensed Consolidated Statements of Income (Details) - USD ($) $ / shares in Units, $ in Thousands |
3 Months Ended | 9 Months Ended | 12 Months Ended | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oct. 02, 2020 |
Jul. 03, 2020 |
Apr. 03, 2020 |
Dec. 31, 2019 |
Sep. 27, 2019 |
Jun. 28, 2019 |
Mar. 29, 2019 |
Oct. 02, 2020 |
Sep. 27, 2019 |
Dec. 31, 2019 |
Dec. 31, 2018 |
Dec. 31, 2017 |
|
| Error Corrections and Prior Period Adjustments Restatement [Line Items] | ||||||||||||
| Revenue | $ 352,415 | $ 359,873 | $ 1,040,212 | $ 1,017,368 | ||||||||
| Cost of revenue | 320,234 | 327,523 | 951,743 | 923,671 | ||||||||
| Operating income | 14,837 | 12,416 | 29,751 | 34,000 | ||||||||
| Income from operations before income taxes | 13,898 | 10,509 | 25,763 | 29,189 | ||||||||
| Income tax expense | 3,507 | 2,668 | 5,593 | 6,657 | ||||||||
| Net income | $ 10,391 | $ 1,111 | $ 8,668 | $ 7,841 | $ 7,617 | $ 7,074 | $ 20,170 | $ 22,532 | ||||
| Earnings per share | ||||||||||||
| Basic (in dollars per share) | $ 0.89 | $ 0.68 | $ 1.74 | $ 1.97 | ||||||||
| Diluted (in dollars per share) | $ 0.88 | $ 0.67 | $ 1.72 | $ 1.95 | ||||||||
| As Previously Reported | ||||||||||||
| Error Corrections and Prior Period Adjustments Restatement [Line Items] | ||||||||||||
| Revenue | $ 359,854 | $ 1,017,371 | ||||||||||
| Cost of revenue | 325,537 | 921,685 | ||||||||||
| Operating income | 14,383 | 35,989 | ||||||||||
| Income from operations before income taxes | 12,476 | 31,178 | ||||||||||
| Income tax expense | 3,094 | 7,088 | ||||||||||
| Net income | $ 9,382 | 7,617 | 7,091 | $ 24,090 | ||||||||
| Earnings per share | ||||||||||||
| Basic (in dollars per share) | $ 0.82 | $ 2.11 | ||||||||||
| Diluted (in dollars per share) | $ 0.80 | $ 2.08 | ||||||||||
| Correction | ||||||||||||
| Error Corrections and Prior Period Adjustments Restatement [Line Items] | ||||||||||||
| Revenue | $ 19 | $ (3) | ||||||||||
| Cost of revenue | 1,986 | 1,986 | ||||||||||
| Operating income | (1,967) | (1,989) | ||||||||||
| Income from operations before income taxes | (1,967) | (1,989) | ||||||||||
| Income tax expense | (426) | (431) | ||||||||||
| Net income | $ (1,541) | $ 0 | $ (17) | $ (1,558) | $ (1,500) | |||||||
| Earnings per share | ||||||||||||
| Basic (in dollars per share) | $ (0.14) | $ (0.14) | ||||||||||
| Diluted (in dollars per share) | $ (0.00) | $ (0.13) | $ (0.00) | $ (0.00) | $ (0.13) | $ (0.13) | $ (0.02) | $ (0.01) | ||||