Revenue - Revenue by Contract Relationship (Details) - USD ($) $ in Thousands |
3 Months Ended | 12 Months Ended | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Dec. 31, 2019 |
Sep. 27, 2019 |
Jun. 28, 2019 |
Mar. 29, 2019 |
Dec. 31, 2018 |
Sep. 28, 2018 |
Jun. 29, 2018 |
Mar. 30, 2018 |
Dec. 31, 2019 |
Dec. 31, 2018 |
Dec. 31, 2017 |
|
| Disaggregation of Revenue [Line Items] | |||||||||||
| Total revenue | $ 365,271 | $ 359,854 | $ 331,589 | $ 325,928 | $ 329,561 | $ 308,095 | $ 321,132 | $ 320,516 | $ 1,382,642 | $ 1,279,304 | $ 1,114,788 |
| Prime contractor | |||||||||||
| Disaggregation of Revenue [Line Items] | |||||||||||
| Total revenue | 1,296,015 | 1,200,726 | 1,083,485 | ||||||||
| Subcontractor | |||||||||||
| Disaggregation of Revenue [Line Items] | |||||||||||
| Total revenue | $ 86,627 | $ 78,578 | $ 31,303 | ||||||||