XML 50 R38.htm IDEA: XBRL DOCUMENT v3.19.1
Revenue Recognition - Additional Information (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2019
Mar. 31, 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 $ 149,400 $ 88,100  
Service revenues 938,955 802,004  
Revenue recognized from contract liabilities 3,800 4,200  
Retainage on contracts 5,400   $ 7,500
COLORADO      
Revenue Recognition [Line Items]      
Service revenues $ 9,900 $ 11,100  
Minimum      
Revenue Recognition [Line Items]      
Warranty term 9 months    
Minimum | Service      
Revenue Recognition [Line Items]      
Performance obligations, period 1 day    
Maximum      
Revenue Recognition [Line Items]      
Warranty term 1 year    
Maximum | Service      
Revenue Recognition [Line Items]      
Performance obligations, period 20 months