XML 67 R50.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Narrative (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Derivative Instruments, Gain (Loss) [Line Items]      
Earnest money deposits $ 4,100,000 $ 3,100,000  
Receivables from contracts with customers 73,900,000 85,100,000  
Depreciation and amortization expense 23,900,000 26,400,000 $ 30,200,000
Goodwill impairment loss $ 0 $ 0  
Warranty period responsible for performing all work 2 years    
Warranty responsibility for paying for substantially all work required to be performed (after) 2 years    
Derivative, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration] Revenues Revenues Revenues
Minimum      
Derivative Instruments, Gain (Loss) [Line Items]      
Useful life 2 years    
Maximum      
Derivative Instruments, Gain (Loss) [Line Items]      
Useful life 16 years