XML 54 R40.htm IDEA: XBRL DOCUMENT v3.19.2
Revenue Recognition - Additional Information (Detail) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Dec. 31, 2018
Revenue Recognition [Line Items]          
Performance obligations, description of timing     Performance obligations within paving service agreements are satisfied over time, primarily ranging from one day to 20 months. For product revenues and freight revenues, customer payment terms are generally 30 days from invoice date. Customer payments for the paving operations are based on a contractual billing schedule and are due 30 days from invoice date.    
Product and freight revenues customer payment terms     30 days    
Customer payments terms based on contractual billing     30 days    
Future revenues from unsatisfied performance obligations $ 177,900 $ 129,000 $ 177,900 $ 129,000  
Service revenues 1,279,468 1,202,403 2,218,423 2,004,407  
Revenue recognized from contract liabilities 4,800 4,100 5,800 6,200  
Retainage on contracts 6,900   6,900   $ 7,500
Service          
Revenue Recognition [Line Items]          
Service revenues     $ 81,000 $ 80,700  
Service | COLORADO          
Revenue Recognition [Line Items]          
Service revenues $ 71,000 $ 69,600      
Minimum          
Revenue Recognition [Line Items]          
Warranty term 9 months   9 months    
Minimum | Service          
Revenue Recognition [Line Items]          
Performance obligations, period     1 day    
Maximum          
Revenue Recognition [Line Items]          
Warranty term 1 year   1 year    
Maximum | Service          
Revenue Recognition [Line Items]          
Performance obligations, period     20 months