XML 77 R61.htm IDEA: XBRL DOCUMENT v3.22.0.1
Accounts Receivable, Net of Allowance, and Contract Assets and Liabilities - Narrative (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Schedule of Accounts Receivable, Net of Allowance, and Contract Assets and Liabilities [Line Items]      
Retainage, expected collection period (in years) 1 year    
Accounts receivable, credit loss expense (reversal) $ (11,900) $ 12,100  
Amounts charged against the allowance 800 1,700  
Contract liabilities 313,965 228,388  
Contract with customer liability deferred revenue current 296,100 203,000  
Deferred revenue, revenue recognized 186,900 159,600  
Non-recourse financing agreement, discount charge (53,413) (59,629) $ (77,026)
Receivables, Non-Recourse Arrangement      
Schedule of Accounts Receivable, Net of Allowance, and Contract Assets and Liabilities [Line Items]      
Non-recourse financing agreement, discount charge $ (3,200) $ (5,000) $ (10,100)
Minimum      
Schedule of Accounts Receivable, Net of Allowance, and Contract Assets and Liabilities [Line Items]      
Retainage, percentage of contract billings 5.00%    
Maximum      
Schedule of Accounts Receivable, Net of Allowance, and Contract Assets and Liabilities [Line Items]      
Retainage, percentage of contract billings 10.00%