XML 52 R42.htm IDEA: XBRL DOCUMENT v3.10.0.1
Revenue (Narratives) (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2018
Sep. 30, 2017
Sep. 30, 2018
Sep. 30, 2017
Dec. 31, 2017
Revenue from Contract with Customer [Abstract]          
Revenue remaining performance obligation $ 251,617   $ 251,617    
Disaggregation of Revenue          
Revenue from contract with customer including assessed tax 167,094 $ 131,492 462,438 $ 395,054  
Contract with customer, assets 27,796   27,796   $ 25,320
Contract with customer, liability $ 2,423   2,423   $ 1,420
Contract assets transferred to receivables     14,528    
Revenue recognized from contract liability     1,146    
Cash proceeds from liability contract     $ 1,754    
Over time          
Disaggregation of Revenue          
Customer revenue transferred over-time (percentage) 26.80% 24.00% 25.20% 23.30%  
Revenue from contract with customer including assessed tax $ 44,735 $ 31,543 $ 116,433 $ 92,000  
Over time | Performance Based          
Disaggregation of Revenue          
Revenue from contract with customer including assessed tax 33,225 20,447 87,369 61,892  
Over time | Delivery Based          
Disaggregation of Revenue          
Revenue from contract with customer including assessed tax $ 11,510 $ 11,096 $ 29,064 $ 30,108  
Point in time          
Disaggregation of Revenue          
Customer revenue transferred over-time (percentage) 73.20% 76.00% 74.80% 76.70%  
Revenue from contract with customer including assessed tax $ 122,359 $ 99,949 $ 346,005 $ 303,054  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2018-10-01          
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction          
Revenue remaining performance obligation (percentage) 10.00%   10.00%    
Performance obligations expected to be satisfied, expected timing     1 year