Quarterly report [Sections 13 or 15(d)]

Revenue Recognition - Disaggregation (Details)

v3.25.2
Revenue Recognition - Disaggregation (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Revenue Recognition        
Net sales $ 1,297,403 $ 1,365,612 $ 2,530,681 $ 2,644,329
Insulation and accessories        
Revenue Recognition        
Net sales 1,077,301 1,142,212 2,110,324 2,219,021
Glass and windows        
Revenue Recognition        
Net sales 60,973 62,322 120,489 120,438
Gutters        
Revenue Recognition        
Net sales 76,369 71,499 137,627 132,475
All other        
Revenue Recognition        
Net sales 82,760 89,579 162,241 172,395
Residential        
Revenue Recognition        
Net sales 809,500 884,100 1,579,252 1,718,943
Commercial and Industrial        
Revenue Recognition        
Net sales 487,903 481,512 951,429 925,386
Installation        
Revenue Recognition        
Net sales 780,678 850,983 1,526,211 1,649,726
Specialty Distribution        
Revenue Recognition        
Net sales 516,725 514,629 1,004,470 994,603
Operating Segment        
Revenue Recognition        
Net sales 1,379,862 1,443,809 2,685,198 2,788,346
Operating Segment | Installation        
Revenue Recognition        
Net sales 780,678 850,983 1,526,211 1,649,726
Operating Segment | Installation | Insulation and accessories        
Revenue Recognition        
Net sales 624,743 685,728 1,221,027 1,329,378
Operating Segment | Installation | Glass and windows        
Revenue Recognition        
Net sales 60,973 62,322 120,489 120,438
Operating Segment | Installation | Gutters        
Revenue Recognition        
Net sales 28,855 30,371 53,751 58,339
Operating Segment | Installation | All other        
Revenue Recognition        
Net sales 66,107 72,562 130,944 141,571
Operating Segment | Installation | Residential        
Revenue Recognition        
Net sales 650,925 712,827 1,271,886 1,387,263
Operating Segment | Installation | Commercial and Industrial        
Revenue Recognition        
Net sales 129,753 138,156 254,325 262,463
Operating Segment | Specialty Distribution        
Revenue Recognition        
Net sales 599,184 592,826 1,158,987 1,138,620
Operating Segment | Specialty Distribution | Insulation and accessories        
Revenue Recognition        
Net sales 525,019 525,242 1,025,783 1,015,910
Operating Segment | Specialty Distribution | Gutters        
Revenue Recognition        
Net sales 56,402 49,052 99,838 89,368
Operating Segment | Specialty Distribution | All other        
Revenue Recognition        
Net sales 17,763 18,532 33,366 33,342
Operating Segment | Specialty Distribution | Residential        
Revenue Recognition        
Net sales 226,993 237,604 437,007 454,001
Operating Segment | Specialty Distribution | Commercial and Industrial        
Revenue Recognition        
Net sales 372,191 355,222 721,980 684,619
Eliminations        
Revenue Recognition        
Net sales (82,459) (78,197) (154,517) (144,017)
Eliminations | Insulation and accessories        
Revenue Recognition        
Net sales (72,461) (68,758) (136,486) (126,267)
Eliminations | Gutters        
Revenue Recognition        
Net sales (8,888) (7,924) (15,962) (15,232)
Eliminations | All other        
Revenue Recognition        
Net sales (1,110) (1,515) (2,069) (2,518)
Eliminations | Residential        
Revenue Recognition        
Net sales (68,418) (66,331) (129,641) (122,321)
Eliminations | Commercial and Industrial        
Revenue Recognition        
Net sales (14,041) (11,866) (24,876) (21,696)
Eliminations | Specialty Distribution        
Revenue Recognition        
Net sales $ (82,459) $ (78,197) $ (154,517) $ (144,017)