Quarterly report pursuant to Section 13 or 15(d)

Revenue Recognition - Disaggregation (Details)

v3.20.2
Revenue Recognition - Disaggregation (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
Jun. 30, 2020
Jun. 30, 2019
Revenue Recognition        
Net sales $ 646,099 $ 660,112 $ 1,299,327 $ 1,279,442
Insulation and accessories        
Revenue Recognition        
Net sales 507,010 523,383 1,027,196 1,015,086
Glass and windows        
Revenue Recognition        
Net sales 39,371 39,086 80,690 76,954
Rain gutters        
Revenue Recognition        
Net sales 41,869 38,341 75,402 70,262
All other        
Revenue Recognition        
Net sales 57,849 59,302 116,039 117,140
Residential        
Revenue Recognition        
Net sales 505,534 504,659 1,012,266 980,794
Commercial        
Revenue Recognition        
Net sales 140,565 155,453 287,061 298,648
Operating Segment        
Revenue Recognition        
Net sales 646,099 660,112 1,299,327 1,279,442
Operating Segment | Installation        
Revenue Recognition        
Net sales 466,569 483,028 942,442 932,410
Operating Segment | Installation | Insulation and accessories        
Revenue Recognition        
Net sales 360,999 377,541 730,995 727,496
Operating Segment | Installation | Glass and windows        
Revenue Recognition        
Net sales 39,371 39,086 80,690 76,954
Operating Segment | Installation | Rain gutters        
Revenue Recognition        
Net sales 21,577 21,569 40,506 40,492
Operating Segment | Installation | All other        
Revenue Recognition        
Net sales 44,622 44,832 90,251 87,468
Operating Segment | Installation | Residential        
Revenue Recognition        
Net sales 370,969 373,945 744,250 723,818
Operating Segment | Installation | Commercial        
Revenue Recognition        
Net sales 95,600 109,083 198,192 208,592
Operating Segment | Distribution        
Revenue Recognition        
Net sales 216,336 213,487 430,558 417,951
Operating Segment | Distribution | Insulation and accessories        
Revenue Recognition        
Net sales 175,559 174,024 355,808 343,606
Operating Segment | Distribution | Rain gutters        
Revenue Recognition        
Net sales 25,979 23,066 45,970 41,651
Operating Segment | Distribution | All other        
Revenue Recognition        
Net sales 14,798 16,397 28,780 32,694
Operating Segment | Distribution | Residential        
Revenue Recognition        
Net sales 163,615 159,774 326,071 313,552
Operating Segment | Distribution | Commercial        
Revenue Recognition        
Net sales 52,721 53,713 104,487 104,399
Intercompany Eliminations and Other Adjustments        
Revenue Recognition        
Net sales (36,806) (36,403) (73,673) (70,919)
Intercompany Eliminations and Other Adjustments | Insulation and accessories        
Revenue Recognition        
Net sales (29,548) (28,182) (59,607) (56,016)
Intercompany Eliminations and Other Adjustments | Rain gutters        
Revenue Recognition        
Net sales (5,687) (6,294) (11,074) (11,881)
Intercompany Eliminations and Other Adjustments | All other        
Revenue Recognition        
Net sales (1,571) (1,927) (2,992) (3,022)
Intercompany Eliminations and Other Adjustments | Residential        
Revenue Recognition        
Net sales (29,050) (29,060) (58,055) (56,576)
Intercompany Eliminations and Other Adjustments | Commercial        
Revenue Recognition        
Net sales $ (7,756) $ (7,343) $ (15,618) $ (14,343)