XML 52 R59.htm IDEA: XBRL DOCUMENT
v3.20.1

Commitments and Contingencies - Additional Information (Detail) $ in Millions | 3 Months Ended
--- | ---
Mar. 31, 2020 USD ($)
Schedule Of Commitments And Contingencies [Line Items] |
Change in warranty reserve for disclosure purposes only | $ 1.8
Minimum [Member] |
Schedule Of Commitments And Contingencies [Line Items] |
Warranty period | 10 years
Maximum [Member] |
Schedule Of Commitments And Contingencies [Line Items] |
Warranty period | 25 years
Surface Flaking Warranty Reserve [Member] |
Schedule Of Commitments And Contingencies [Line Items] |
Percentage change in warranty claims used as a threshold for disclosure | 10.00%

X
- Definition Percentage change in the expected number of remaining claims to be settled with payment or the expected cost to settle claims used as a threshold for disclosure. + References No definition available. + Details
Name: | trex_PercentSensitivityChangeInExpectedSurfaceFlakingClaims
Namespace Prefix: | trex_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Schedule of commitments and contingencies. + References No definition available. + Details
Name: | trex_ScheduleOfCommitmentsAndContingenciesLineItems
Namespace Prefix: | trex_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Estimated change in the warranty reserve resulting from a 10% change in the expected number of remaining claims to be settled with payment or the expected cost to settle claims for disclosure purposes only. + References No definition available. + Details
Name: | trex_SensitivityChangeInSurfaceFlakingWarrantyReserve
Namespace Prefix: | trex_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The number of years the Company warrants that its products will be free from material defects in workmanship and materials. + References No definition available. + Details
Name: | trex_WarrantyPeriod
Namespace Prefix: | trex_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ValuationAllowancesAndReservesTypeAxis=trex_SurfaceFlakingWarrantyReserveMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |