Quarterly report [Sections 13 or 15(d)]

Segment Information (Details)

v3.25.2
Segment Information (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
USD ($)
Jun. 30, 2024
USD ($)
Jun. 30, 2025
USD ($)
segment
Jun. 30, 2024
USD ($)
Dec. 31, 2024
USD ($)
Segment information          
Number of reportable segments | segment     2    
Net sales $ 1,297,403 $ 1,365,612 $ 2,530,681 $ 2,644,329  
Cost of sales 903,360 941,690 1,785,165 1,833,257  
Selling, general, and administrative expenses 174,254 213,530 348,239 386,172  
Operating profit 219,789 210,392 397,277 424,900  
Other expense, net (16,197) (7,218) (27,713) (14,731)  
Income before income taxes 203,592 203,174 369,564 410,169  
Depreciation and Amortization 35,886 35,034 71,677 69,291  
Property Additions 12,261 19,282 23,875 38,895  
Total Assets 5,119,818 4,902,993 5,119,818 4,902,993 $ 4,735,426
Installation          
Segment information          
Net sales 780,678 850,983 1,526,211 1,649,726  
Specialty Distribution          
Segment information          
Net sales 516,725 514,629 1,004,470 994,603  
Operating Segment          
Segment information          
Net sales 1,379,862 1,443,809 2,685,198 2,788,346  
Cost of sales 972,187 1,007,047 1,914,123 1,953,674  
Selling, general, and administrative expenses 164,752 176,671 329,477 340,246  
Operating profit 242,923 260,091 441,598 494,426  
Depreciation and Amortization 34,343 33,759 68,670 66,862  
Property Additions 11,017 17,298 21,744 35,037  
Total Assets 4,255,808 4,403,015 4,255,808 4,403,015  
Operating Segment | Cost of sales          
Segment information          
Rationalization charges 1,100   12,400    
Operating Segment | Selling, General and Administrative Expenses          
Segment information          
Rationalization charges     2,200    
Operating Segment | Selling, General and Administrative Expenses | Branch Support Center          
Segment information          
Rationalization charges     500    
Operating Segment | Installation          
Segment information          
Net sales 780,678 850,983 1,526,211 1,649,726  
Cost of sales 521,053 565,600 1,032,490 1,100,291  
Selling, general, and administrative expenses 104,184 114,665 208,664 221,960  
Operating profit 155,441 170,718 285,057 327,475  
Depreciation and Amortization 19,247 18,712 38,573 36,979  
Property Additions 7,308 14,219 14,776 26,034  
Total Assets 2,175,651 2,303,698 2,175,651 2,303,698  
Operating Segment | Installation | Cost of sales          
Segment information          
Rationalization charges 900   6,200    
Operating Segment | Installation | Selling, General and Administrative Expenses          
Segment information          
Rationalization charges     1,100    
Operating Segment | Specialty Distribution          
Segment information          
Net sales 599,184 592,826 1,158,987 1,138,620  
Cost of sales 451,134 441,447 881,633 853,383  
Selling, general, and administrative expenses 60,568 62,006 120,813 118,286  
Operating profit 87,482 89,373 156,541 166,951  
Depreciation and Amortization 15,096 15,047 30,097 29,883  
Property Additions 3,709 3,079 6,968 9,003  
Total Assets 2,080,157 2,099,317 2,080,157 2,099,317  
Operating Segment | Specialty Distribution | Cost of sales          
Segment information          
Rationalization charges 200   6,200    
Operating Segment | Specialty Distribution | Selling, General and Administrative Expenses          
Segment information          
Rationalization charges     600    
Intercompany Eliminations          
Segment information          
Net sales (82,459) (78,197) (154,517) (144,017)  
Operating profit (13,632) (12,840) (25,559) (23,600)  
Intercompany Eliminations | Specialty Distribution          
Segment information          
Net sales (82,459) (78,197) (154,517) (144,017)  
Corporate          
Segment information          
Selling, general, and administrative expenses (9,502) (36,859) (18,762) (45,926)  
Depreciation and Amortization 1,543 1,275 3,007 2,429  
Property Additions 1,244 1,984 2,131 3,858  
Total Assets $ 864,010 $ 499,978 $ 864,010 $ 499,978