XML 87 R74.htm IDEA: XBRL DOCUMENT v3.22.4
Information on Segments (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2022
USD ($)
Dec. 31, 2022
segment
Dec. 31, 2022
reporting_unit
Dec. 31, 2022
Dec. 31, 2021
USD ($)
Dec. 31, 2020
USD ($)
Segment Reporting Information [Line Items]            
Number of operating segment   3 3      
Number of reportable segment | segment   1        
Revenue $ 2,669,844       $ 1,968,650 $ 1,653,225
Cost of sales 1,797,650       $ 1,338,193 $ 1,104,240
Segment gross profit percentage       32.70% 32.00% 33.20%
Depreciation and amortization 44,410       $ 40,938 $ 39,011
Gross profit 827,784       589,519 509,974
Operating Expenses 482,373       401,639 348,107
Selling 119,031       93,204 81,613
Operating income 345,411       187,880 161,867
Other Nonoperating Expense 42,104       32,405 30,690
Other expense, net 41,574       32,842 30,291
Income before income taxes 303,307       155,475 131,177
Adjustment            
Segment Reporting Information [Line Items]            
Segment gross profit 872,194       630,457 548,985
Eliminations            
Segment Reporting Information [Line Items]            
Revenue (6,146)       (2,225) (898)
Cost of sales (4,826)       (1,701) (670)
Segment gross profit (1,320)       $ (524) $ (228)
Segment gross profit percentage       21.50% 23.60% 25.40%
Installation            
Segment Reporting Information [Line Items]            
Number of operating segment | segment   1        
Installation | Operating segments            
Segment Reporting Information [Line Items]            
Revenue 2,513,557       $ 1,941,543 $ 1,636,361
Cost of sales 1,678,771       1,317,739 1,092,139
Segment gross profit 834,786       $ 623,804 $ 544,222
Segment gross profit percentage       33.20% 32.10% 33.30%
Other            
Segment Reporting Information [Line Items]            
Number of operating segment | segment   2        
Other | Operating segments            
Segment Reporting Information [Line Items]            
Revenue 162,433       $ 29,332 $ 17,762
Cost of sales 123,705       22,155 12,771
Segment gross profit $ 38,728       $ 7,177 $ 4,991
Segment gross profit percentage       23.80% 24.50% 28.10%