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

Revenue Recognition - Disaggregation (Details)

v3.25.0.1
Revenue Recognition - Disaggregation (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Revenue Recognition      
Net sales $ 5,329,803 $ 5,194,694 $ 5,008,744
Insulation and accessories      
Revenue Recognition      
Net sales 4,453,156 4,329,553 4,159,066
Glass and windows      
Revenue Recognition      
Net sales 246,929 251,001 227,318
Gutters      
Revenue Recognition      
Net sales 280,261 260,252 266,357
All other      
Revenue Recognition      
Net sales 349,457 353,888 356,003
Residential      
Revenue Recognition      
Net sales 3,448,340 3,350,003 3,272,001
Commercial and Industrial      
Revenue Recognition      
Net sales 1,881,463 1,844,691 1,736,743
Installation      
Revenue Recognition      
Net sales 3,294,630 3,188,232 2,969,978
Specialty Distribution      
Revenue Recognition      
Net sales 2,035,173 2,006,462 2,038,766
Operating Segment      
Revenue Recognition      
Net sales 5,635,467 5,456,571 5,248,239
Operating Segment | Installation      
Revenue Recognition      
Net sales 3,294,630 3,188,232 2,969,978
Operating Segment | Installation | Insulation and accessories      
Revenue Recognition      
Net sales 2,644,819 2,529,186 2,344,807
Operating Segment | Installation | Glass and windows      
Revenue Recognition      
Net sales 246,929 251,001 227,318
Operating Segment | Installation | Gutters      
Revenue Recognition      
Net sales 118,908 114,293 106,969
Operating Segment | Installation | All other      
Revenue Recognition      
Net sales 283,974 293,752 290,884
Operating Segment | Installation | Residential      
Revenue Recognition      
Net sales 2,762,703 2,672,152 2,503,123
Operating Segment | Installation | Commercial and Industrial      
Revenue Recognition      
Net sales 531,927 516,080 466,855
Operating Segment | Specialty Distribution      
Revenue Recognition      
Net sales 2,340,837 2,268,339 2,278,261
Operating Segment | Specialty Distribution | Insulation and accessories      
Revenue Recognition      
Net sales 2,077,253 2,028,467 2,019,108
Operating Segment | Specialty Distribution | Gutters      
Revenue Recognition      
Net sales 193,353 175,765 189,800
Operating Segment | Specialty Distribution | All other      
Revenue Recognition      
Net sales 70,231 64,107 69,353
Operating Segment | Specialty Distribution | Residential      
Revenue Recognition      
Net sales 945,916 897,783 967,687
Operating Segment | Specialty Distribution | Commercial and Industrial      
Revenue Recognition      
Net sales 1,394,921 1,370,556 1,310,574
Eliminations      
Revenue Recognition      
Net sales (305,664) (261,877) (239,495)
Eliminations | Insulation and accessories      
Revenue Recognition      
Net sales (268,916) (228,100) (204,849)
Eliminations | Gutters      
Revenue Recognition      
Net sales (32,000) (29,806) (30,412)
Eliminations | All other      
Revenue Recognition      
Net sales (4,748) (3,971) (4,234)
Eliminations | Residential      
Revenue Recognition      
Net sales (260,279) (219,932) (198,809)
Eliminations | Commercial and Industrial      
Revenue Recognition      
Net sales (45,385) (41,945) (40,686)
Eliminations | Specialty Distribution      
Revenue Recognition      
Net sales $ (305,664) $ (261,877) $ (239,495)