Annual report [Section 13 and 15(d), not S-K Item 405]

Summary of Significant Accounting Policies - Accounts Receivable (Details)

v3.25.0.1
Summary of Significant Accounting Policies - Accounts Receivable (Details) - USD ($)
12 Months Ended
Dec. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Accounts Receivable, Allowance for Credit Loss [Roll Forward]      
Allowance for credit loss, beginning of period $ 903,000 $ 911,000 $ 2,263,000
Charges to (recoveries of) costs and expenses, net 1,340,000 356,000 (382,000)
Account write-offs and other (1,398,000) (364,000) (970,000)
Allowance for credit loss, end of period 845,000 903,000 $ 911,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%