Annual report pursuant to Section 13 and 15(d)

Revenue from Contracts with Customers - Summary of Impact of Adoption (Details)

v3.10.0.1
Revenue from Contracts with Customers - Summary of Impact of Adoption (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2018
Sep. 30, 2018
Jun. 30, 2018
Mar. 31, 2018
Dec. 31, 2017
Sep. 30, 2017
Jun. 30, 2017
Mar. 31, 2017
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
Jan. 01, 2018
Assets:                        
Costs and estimated earnings in excess of billings $ 86,842       $ 104,852       $ 86,842 $ 104,852   $ 104,852
Prepaid expenses and other current assets (including amounts in VIEs of $190 and $8, respectively) 11,571       14,037       11,571 14,037   14,037
Deferred income taxes, net                       0
Liabilities:                        
Accrued expenses and other current liabilities (including amounts in VIEs of $4,233 and $149, respectively) 35,947       23,260       35,947 23,260   23,260
Deferred income taxes, net 4,352               4,352     584
Shareholders' Equity:                        
Retained earnings 269,806       235,844       269,806 235,844   235,844
Income Statement [Abstract]                        
Revenues 217,371 $ 205,375 $ 196,982 $ 167,410 211,133 $ 204,744 $ 166,665 $ 134,610 787,138 717,152 $ 651,227  
Cost of revenues                 613,526 572,994 516,883  
Gross profit 49,201 46,162 42,776 35,473 41,459 41,367 35,408 25,924 173,612 144,158 134,344  
Operating expenses:                        
Selling, general and administrative expenses                 114,513 107,570 110,568  
Operating income                 59,099 36,588 23,776  
Other expenses, net                 16,709 7,871 7,409  
Income before (benefit) provision for income taxes                 42,390 28,717 16,367  
Income tax (benefit) provision                 4,813 (4,791) 4,370  
Net income                 37,577 33,508 11,997  
Net loss attributable to redeemable non-controlling interest                 407 3,983 35  
Net income attributable to common shareholders $ 11,593 $ 10,701 $ 8,702 $ 6,988 $ 23,811 $ 8,493 $ 5,831 $ (644) $ 37,984 $ 37,491 $ 12,032  
Basic income per share (in usd per share) $ 0.25 $ 0.23 $ 0.19 $ 0.15 $ 0.52 $ 0.19 $ 0.13 $ (0.01) $ 0.83 $ 0.82 $ 0.26  
Diluted income per share (in usd per share) $ 0.24 $ 0.23 $ 0.19 $ 0.15 $ 0.52 $ 0.19 $ 0.13 $ (0.01) $ 0.81 $ 0.82 $ 0.26  
Balances without adoption of Topic 606                        
Assets:                        
Costs and estimated earnings in excess of billings $ 93,214               $ 93,214     95,658
Prepaid expenses and other current assets (including amounts in VIEs of $190 and $8, respectively) 10,644               10,644     18,380
Deferred income taxes, net                       1,003
Liabilities:                        
Accrued expenses and other current liabilities (including amounts in VIEs of $4,233 and $149, respectively) 34,877               34,877     24,450
Deferred income taxes, net 6,123               6,123     0
Shareholders' Equity:                        
Retained earnings 274,550               274,550     231,390
Income Statement [Abstract]                        
Revenues                 784,316      
Cost of revenues                 610,229      
Gross profit                 174,087      
Operating expenses:                        
Selling, general and administrative expenses                 114,513      
Operating income                 59,574      
Other expenses, net                 16,709      
Income before (benefit) provision for income taxes                 42,865      
Income tax (benefit) provision                 4,998      
Net income                 37,867      
Net loss attributable to redeemable non-controlling interest                 407      
Net income attributable to common shareholders                 $ 38,274      
Basic income per share (in usd per share)                 $ 0.84      
Diluted income per share (in usd per share)                 $ 0.82      
606 Adjustments                        
Assets:                        
Costs and estimated earnings in excess of billings (6,372)               $ (6,372)     (9,194)
Prepaid expenses and other current assets (including amounts in VIEs of $190 and $8, respectively) 927               927     4,343
Deferred income taxes, net                       1,003
Liabilities:                        
Accrued expenses and other current liabilities (including amounts in VIEs of $4,233 and $149, respectively) 1,070               1,070     1,190
Deferred income taxes, net (1,771)               (1,771)     (584)
Shareholders' Equity:                        
Retained earnings $ (4,744)               (4,744)     $ (4,454)
Income Statement [Abstract]                        
Revenues                 2,822      
Cost of revenues                 3,297      
Gross profit                 (475)      
Operating expenses:                        
Selling, general and administrative expenses                 0      
Operating income                 (475)      
Other expenses, net                 0      
Income before (benefit) provision for income taxes                 (475)      
Income tax (benefit) provision                 (185)      
Net income                 (290)      
Net loss attributable to redeemable non-controlling interest                 0      
Net income attributable to common shareholders                 $ (290)      
Basic income per share (in usd per share)                 $ (0.01)      
Diluted income per share (in usd per share)                 $ (0.01)