XML 78 R59.htm IDEA: XBRL DOCUMENT v3.22.4
Accounts Receivable, Net of Allowance, and Contract Assets and Liabilities - Narrative (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
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) $ 700 $ (11,900)  
Amounts charged against the allowance 100 800  
Contract liabilities 406,232 313,965  
Contract with customer liability deferred revenue current 390,300 296,100  
Deferred revenue, revenue recognized 270,700 186,900  
Non-recourse financing agreement, discount charge (112,255) (53,413) $ (59,629)
Receivables, Non-Recourse Arrangement      
Schedule of Accounts Receivable, Net of Allowance, and Contract Assets and Liabilities [Line Items]      
Non-recourse financing agreement, discount charge $ (9,000) $ (3,200) $ (5,000)
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%