Annual report pursuant to Section 13 and 15(d)

Summary of Significant Accounting Policies - Accounts Receivable (Details)

v3.24.0.1
Summary of Significant Accounting Policies - Accounts Receivable (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Accounts Receivable, Allowance for Credit Loss [Roll Forward]      
Allowance for credit loss, beginning of period $ 911,000 $ 2,263,000 $ 2,266,000
Charges to (recoveries of) costs and expenses, net 356,000 (382,000) 187,000
Account write-offs and other (364,000) (970,000) (190,000)
Allowance for credit loss, end of period 903,000 911,000 $ 2,263,000
Accounts receivable retainage reserve $ 0 $ 0  
Minimum      
Accounts Receivable, Allowance for Credit Loss [Roll Forward]      
Accounts receivable retainage 5.00%    
Maximum      
Accounts Receivable, Allowance for Credit Loss [Roll Forward]      
Accounts receivable retainage 10.00%