XML 53 R42.htm IDEA: XBRL DOCUMENT v3.10.0.1
Revenue (Narratives) (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2018
Jun. 30, 2017
Jun. 30, 2018
Jun. 30, 2017
Dec. 31, 2017
Revenue from Contract with Customer [Abstract]          
Revenue remaining performance obligation $ 231,252   $ 231,252    
Disaggregation of Revenue          
Revenue from contract with customer including assessed tax 172,890 $ 144,860 295,344 $ 263,562  
Contract with customer, assets 29,247   29,247   $ 25,320
Contract with customer, liability 3,035   3,035   $ 1,420
Contract assets transferred to receivables     10,872    
Revenue recognized from contract liability     740    
Cash proceeds from liability contract     $ 2,488    
Performance Based          
Disaggregation of Revenue          
Revenue from contract with customer including assessed tax $ 29,583        
Over time          
Disaggregation of Revenue          
Customer revenue transferred over-time (percentage) 23.40% 22.70% 24.30% 22.90%  
Revenue from contract with customer including assessed tax $ 40,476 $ 32,884 $ 71,698 $ 60,457  
Over time | Performance Based          
Disaggregation of Revenue          
Revenue from contract with customer including assessed tax 29,583 19,835 54,144 41,445  
Over time | Delivery Based          
Disaggregation of Revenue          
Revenue from contract with customer including assessed tax $ 10,893 $ 13,049 $ 17,554 $ 19,012  
Point in time          
Disaggregation of Revenue          
Customer revenue transferred over-time (percentage) 76.60% 77.30% 75.70% 77.10%  
Revenue from contract with customer including assessed tax $ 132,414 $ 111,976 $ 223,646 $ 203,105  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2018-07-01          
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction          
Revenue remaining performance obligation (percentage) 11.70%   11.70%    
Performance obligations expected to be satisfied, expected timing     1 year