Selected Quarterly Financial Data (Unaudited) - Schedule of Quarterly Financial Information (Details) - USD ($) $ / shares in Units, shares in Thousands, $ in Thousands |
3 Months Ended | 12 Months Ended | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Dec. 31, 2017 |
Sep. 29, 2017 |
Jun. 30, 2017 |
Mar. 31, 2017 |
Dec. 31, 2016 |
Sep. 30, 2016 |
Jul. 01, 2016 |
Apr. 01, 2016 |
Dec. 31, 2017 |
Dec. 31, 2016 |
Dec. 31, 2015 |
|
| Quarterly Financial Information Disclosure [Abstract] | |||||||||||
| Revenue | $ 295,782 | $ 269,625 | $ 259,318 | $ 290,063 | $ 288,160 | $ 283,782 | $ 307,895 | $ 310,682 | $ 1,114,788 | $ 1,190,519 | $ 1,180,684 |
| Gross Profit | 26,445 | 24,406 | 25,735 | 25,362 | 26,595 | 26,095 | 27,251 | 26,971 | |||
| Operating income | 10,277 | 10,090 | 9,204 | 11,649 | 8,555 | 11,162 | 11,298 | 11,811 | 41,220 | 42,826 | 39,962 |
| Net income | $ 41,568 | $ 5,800 | $ 5,461 | $ 6,668 | $ 4,409 | $ 6,607 | $ 6,050 | $ 6,589 | $ 59,497 | $ 23,655 | $ 30,973 |
| Basic earnings per share (in dollars per share) | $ 3.77 | $ 0.52 | $ 0.50 | $ 0.61 | $ 0.40 | $ 0.62 | $ 0.57 | $ 0.62 | $ 5.40 | $ 2.21 | $ 2.94 |
| Diluted earnings per share (in dollars per share) | $ 3.70 | $ 0.51 | $ 0.49 | $ 0.60 | $ 0.40 | $ 0.60 | $ 0.55 | $ 0.61 | $ 5.31 | $ 2.16 | $ 2.86 |
| Weighted average common shares outstanding - basic (in shares) | 11,026 | 11,075 | 10,987 | 10,909 | 10,794 | 10,733 | 10,702 | 10,628 | 11,021 | 10,714 | 10,551 |
| Weighted average common shares outstanding - diluted (in shares) | 11,234 | 11,272 | 11,191 | 11,075 | 10,988 | 11,061 | 10,958 | 10,856 | 11,209 | 10,974 | 10,825 |