Quarterly report [Sections 13 or 15(d)]

Revenue Recognition - Disaggregation (Details)

v3.25.1
Revenue Recognition - Disaggregation (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Revenue Recognition    
Net sales $ 1,233,278 $ 1,278,717
Insulation and accessories    
Revenue Recognition    
Net sales 1,033,024 1,076,810
Glass and windows    
Revenue Recognition    
Net sales 59,516 58,117
Gutters    
Revenue Recognition    
Net sales 61,256 60,974
All other    
Revenue Recognition    
Net sales 79,482 82,816
Residential    
Revenue Recognition    
Net sales 769,751 834,843
Commercial and Industrial    
Revenue Recognition    
Net sales 463,527 443,874
Installation    
Revenue Recognition    
Net sales 745,533 798,743
Specialty Distribution    
Revenue Recognition    
Net sales 487,745 479,974
Operating Segment    
Revenue Recognition    
Net sales 1,305,337 1,344,537
Operating Segment | Installation    
Revenue Recognition    
Net sales 745,533 798,743
Operating Segment | Installation | Insulation and accessories    
Revenue Recognition    
Net sales 596,284 643,650
Operating Segment | Installation | Glass and windows    
Revenue Recognition    
Net sales 59,516 58,117
Operating Segment | Installation | Gutters    
Revenue Recognition    
Net sales 24,895 27,967
Operating Segment | Installation | All other    
Revenue Recognition    
Net sales 64,838 69,009
Operating Segment | Installation | Residential    
Revenue Recognition    
Net sales 620,961 674,436
Operating Segment | Installation | Commercial and Industrial    
Revenue Recognition    
Net sales 124,572 124,307
Operating Segment | Specialty Distribution    
Revenue Recognition    
Net sales 559,804 545,794
Operating Segment | Specialty Distribution | Insulation and accessories    
Revenue Recognition    
Net sales 500,765 490,669
Operating Segment | Specialty Distribution | Gutters    
Revenue Recognition    
Net sales 43,435 40,316
Operating Segment | Specialty Distribution | All other    
Revenue Recognition    
Net sales 15,604 14,809
Operating Segment | Specialty Distribution | Residential    
Revenue Recognition    
Net sales 210,014 216,397
Operating Segment | Specialty Distribution | Commercial and Industrial    
Revenue Recognition    
Net sales 349,790 329,397
Eliminations    
Revenue Recognition    
Net sales (72,059) (65,820)
Eliminations | Insulation and accessories    
Revenue Recognition    
Net sales (64,025) (57,509)
Eliminations | Gutters    
Revenue Recognition    
Net sales (7,074) (7,309)
Eliminations | All other    
Revenue Recognition    
Net sales (960) (1,002)
Eliminations | Residential    
Revenue Recognition    
Net sales (61,224) (55,990)
Eliminations | Commercial and Industrial    
Revenue Recognition    
Net sales (10,835) (9,830)
Eliminations | Specialty Distribution    
Revenue Recognition    
Net sales $ (72,059) $ (65,820)