XML 56 R46.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Disaggregation of Revenue          
Revenue recognized $ 154,522 $ 141,563 $ 270,602 $ 263,470  
Contract with customer, assets 40,496   40,496   $ 37,843
Contract with customer, liability 6,098   6,098   $ 1,324
Contract assets transferred to receivables     18,049    
Cash proceeds from liability contract     5,524    
Revenue recognized from contract liability $ 228 $ 1,237 $ 904 $ 3,851  
Over time          
Disaggregation of Revenue          
Customer revenue transferred (percentage) 27.90% 25.10% 26.80% 25.90%  
Revenue recognized $ 43,174 $ 35,546 $ 72,546 $ 68,323  
Over time | Performance Based          
Disaggregation of Revenue          
Revenue recognized 27,687 24,858 48,795 49,290  
Over time | Delivery Based          
Disaggregation of Revenue          
Revenue recognized $ 15,487 $ 10,688 $ 23,751 $ 19,033  
Point in time          
Disaggregation of Revenue          
Customer revenue transferred (percentage) 72.10% 74.90% 73.20% 74.10%  
Revenue recognized $ 111,348 $ 106,017 $ 198,056 $ 195,147