XML 18 R62.htm IDEA: XBRL DOCUMENT
v3.19.3.a.u2

Revenue From Contracts With Customers - Summary of Disaggregated Net Sales (Detail) - USD ($) $ in Thousands | 3 Months Ended | 12 Months Ended
--- | --- | ---
Dec. 31, 2019 | Sep. 30, 2019 | Jun. 30, 2019 | Mar. 31, 2019 | Dec. 31, 2018 | Sep. 30, 2018 | Jun. 30, 2018 | Mar. 31, 2018 | Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017
Disaggregation of Revenue [Line Items] |  |  |  |  |  |  |  |  |  |  |
Revenue from contract with customers | $ 164,772 | $ 194,551 | $ 206,453 | $ 179,571 | $ 139,971 | $ 166,380 | $ 206,692 | $ 171,207 | $ 745,347 | $ 684,250 | $ 565,153
Products Transferred at a Point in Time and Variable Consideration Contracts [Member] |  |  |  |  |  |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |  |  |  |  |  |
Revenue from contract with customers |  |  |  |  |  |  |  |  | 694,267 | 613,229 | 543,346
Products Transferred Over Time and Fixed Price Contracts [Member] |  |  |  |  |  |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |  |  |  |  |  |
Revenue from contract with customers |  |  |  |  |  |  |  |  | 51,080 | 71,021 | 21,807
Residential [Member] |  |  |  |  |  |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |  |  |  |  |  |
Revenue from contract with customers |  |  |  |  |  |  |  |  | 694,267 | 613,229 | 543,346
Residential [Member] | Products Transferred at a Point in Time and Variable Consideration Contracts [Member] |  |  |  |  |  |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |  |  |  |  |  |
Revenue from contract with customers |  |  |  |  |  |  |  |  | 694,267 | 613,229 | 543,346
Commercial [Member] |  |  |  |  |  |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |  |  |  |  |  |
Revenue from contract with customers |  |  |  |  |  |  |  |  | 51,080 | 71,021 | 21,807
Commercial [Member] | Products Transferred Over Time and Fixed Price Contracts [Member] |  |  |  |  |  |  |  |  |  |  |
Disaggregation of Revenue [Line Items] |  |  |  |  |  |  |  |  |  |  |
Revenue from contract with customers |  |  |  |  |  |  |  |  | $ 51,080 | $ 71,021 | $ 21,807

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_DisaggregationOfRevenueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 4 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=118956577&loc=SL49130543-203045 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045 + Details
Name: | us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivablePortfolioSegmentAxis=us-gaap_ResidentialPortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivablePortfolioSegmentAxis=us-gaap_CommercialPortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |