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% |
X | ||||||||||
- Definition Accounts Receivable Retainage No definition available.
|
X | ||||||||||
- Definition Contracts Receivable Retainage Allowances and Reserves No definition available.
|
X | ||||||||||
- Definition Amount of allowance for credit loss on accounts receivable. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef
|
X | ||||||||||
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. No definition available.
|
X | ||||||||||
- Definition Amount of direct write-downs of accounts receivable charged against the allowance. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
X | ||||||||||
- Definition Amount of expense (reversal of expense) for expected credit loss on accounts receivable. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
X | ||||||||||
- Details
|
X | ||||||||||
- Details
|