Quarterly report pursuant to Section 13 or 15(d)

Revenue Recognition - Disaggregation (Details)

v3.20.1
Revenue Recognition - Disaggregation (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Revenue Recognition    
Net sales $ 653,228 $ 619,330
Insulation and accessories    
Revenue Recognition    
Net sales 520,186 491,704
Glass and windows    
Revenue Recognition    
Net sales 41,319 37,868
Rain gutters    
Revenue Recognition    
Net sales 33,534 31,921
All other    
Revenue Recognition    
Net sales 58,189 57,837
Residential    
Revenue Recognition    
Net sales 506,731 476,136
Commercial    
Revenue Recognition    
Net sales 146,497 143,194
Operating Segment    
Revenue Recognition    
Net sales 653,228 619,330
Operating Segment | Installation    
Revenue Recognition    
Net sales 475,873 449,383
Operating Segment | Installation | Insulation and accessories    
Revenue Recognition    
Net sales 369,996 349,956
Operating Segment | Installation | Glass and windows    
Revenue Recognition    
Net sales 41,319 37,868
Operating Segment | Installation | Rain gutters    
Revenue Recognition    
Net sales 18,930 18,923
Operating Segment | Installation | All other    
Revenue Recognition    
Net sales 45,628 42,636
Operating Segment | Installation | Residential    
Revenue Recognition    
Net sales 373,281 349,874
Operating Segment | Installation | Commercial    
Revenue Recognition    
Net sales 102,592 99,509
Operating Segment | Distribution    
Revenue Recognition    
Net sales 214,223 204,464
Operating Segment | Distribution | Insulation and accessories    
Revenue Recognition    
Net sales 180,249 169,582
Operating Segment | Distribution | Rain gutters    
Revenue Recognition    
Net sales 19,991 18,585
Operating Segment | Distribution | All other    
Revenue Recognition    
Net sales 13,983 16,297
Operating Segment | Distribution | Residential    
Revenue Recognition    
Net sales 162,456 153,778
Operating Segment | Distribution | Commercial    
Revenue Recognition    
Net sales 51,767 50,686
Intercompany Eliminations and Other Adjustments    
Revenue Recognition    
Net sales (36,868) (34,517)
Intercompany Eliminations and Other Adjustments | Insulation and accessories    
Revenue Recognition    
Net sales (30,059) (27,834)
Intercompany Eliminations and Other Adjustments | Rain gutters    
Revenue Recognition    
Net sales (5,387) (5,587)
Intercompany Eliminations and Other Adjustments | All other    
Revenue Recognition    
Net sales (1,422) (1,096)
Intercompany Eliminations and Other Adjustments | Residential    
Revenue Recognition    
Net sales (29,006) (27,516)
Intercompany Eliminations and Other Adjustments | Commercial    
Revenue Recognition    
Net sales $ (7,862) $ (7,001)